Kodeloka
  1. Kodeloka
  2. Kelas Git & CI/CD
  3. Materi

GitLab CI/CD · Modul 10 dari 20

GitLab CI/CD Tutorial for Beginners [Crash Course]

Konfigurasi .gitlab-ci.yml, GitLab Runners, Stages, Jobs, Artifacts, Caching, dan environment deployment.

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