GitLab CI/CD یه سیستم Automation قدرتمند در GitLab هست. با یه فایل YAML، Pipeline کامل بسازید.

.gitlab-ci.yml

فایل تنظیمات در Root پروژه:
stages:
  - test
  - build
  - deploy
test:
  stage: test
  script: npm test

Runners

Shared Runners: رایگان
Self-hosted: کنترل بیشتر

Stages

مراحل به ترتیب اجرا میشن.

Jobs

هر Stage میتونه چند Job داشته باشه. موازی اجرا میشن.

Variables

Environment Variables برای پروژه.

Secrets

Settings → CI/CD → Variables. Masked و Protected.

Docker

Image خاص:
image: node:18

Cache

cache:
  paths:
    - node_modules/

Artifacts

artifacts:
  paths:
    - dist/

Deploy

deploy:
  stage: deploy
  script:
    - rsync -avz dist/ user@server:/path
  only:
    - main

Manual Deployment

when: manual

Environment

environment:
  name: production
  url: https://example.com

Parallel Jobs

parallel: 5
5 نمونه همزمان.

Include

Include فایل‌های خارجی برای Modular Pipeline.

Rules

rules:
  - if: $CI_PIPELINE_SOURCE == "merge_request_event"

Auto DevOps

GitLab میتونه Pipeline رو خودکار تشخیص بده.

Review Apps

هر Merge Request یه Deploy موقت.

سباهاست

Deploy از GitLab به VPS سباهاست.

جمع‌بندی

GitLab CI/CD ابزار قدرتمندی برای تیم‌های حرفه‌ای.