1. Konsep Dasar GitLab CI/CD
GitLab CI/CD secara otomatis membaca berkas .gitlab-ci.yml. Komponen utamanya adalah:
- Stages: Menentukan urutan fase eksekusi (misal:
build->test->deploy). Job dalam stage yang sama berjalan secara paralel. - Jobs: Tugas spesifik yang dijalankan oleh GitLab Runner.
- GitLab Runner: Proses agen yang dieksekusi di server lokal/cloud untuk menjalankan instruksi job.
- Artifacts: File/biner yang dihasilkan job (misal: file
dist/) yang diteruskan ke stage berikutnya.
2. Contoh Berkas .gitlab-ci.yml
.gitlab-ci.yml
image: node:22-alpine
stages:
- build
- test
- deploy
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- .npm/
before_script:
- npm ci --cache .npm --prefer-offline
build_job:
stage: build
script:
- npm run build
artifacts:
paths:
- dist/
expire_in: 1 week
unit_test_job:
stage: test
script:
- npm test
deploy_staging:
stage: deploy
script:
- echo "Deploying artifacts to Staging server..."
environment:
name: staging
url: https://staging.myapp.com
only:
- main