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 ابزار قدرتمندی برای تیمهای حرفهای.