Recraftory

GitLab CI

Mengenal GitLab CI untuk otomatisasi build dan deploy

Apa itu GitLab CI

  • Layanan CI/CD yang terintegrasi dengan GitLab
  • Menggunakan runner untuk menjalankan pipeline
  • Konfigurasi disimpan dalam file .gitlab-ci.yml

Konsep Dasar

Pipeline

  • Kumpulan stage dan job yang dijalankan secara berurutan
  • Setiap stage berisi satu atau lebih job

Stage

  • Fase dalam pipeline seperti build, test, deploy
  • Job dalam stage yang sama dijalankan secara paralel
  • Stage dijalankan secara berurutan dari atas ke bawah

Job

  • Tugas yang dijalankan oleh runner
  • Terdiri dari script yang akan dieksekusi
  • Dapat memiliki kondisi untuk dijalankan

Runner

  • Agen yang menjalankan job dari pipeline
  • Dapat menggunakan runner yang di-host GitLab atau runner sendiri

Contoh Konfigurasi Dasar

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - npm install
    - npm run build

test-job:
  stage: test
  script:
    - npm test

deploy-job:
  stage: deploy
  script:
    - npm run deploy
  only:
    - main

Keunggulan GitLab CI

  • Terintegrasi penuh dengan GitLab
  • Mendukung runner self-hosted untuk kebutuhan khusus
  • Visualisasi pipeline yang jelas
  • Mendukung deployment ke berbagai platform