Lewati ke konten utama

GitLab CI/CD

GitLab CI/CD adalah alat CI/CD (Continuous Integration/Continuous Delivery) yang terintegrasi langsung dengan GitLab. Ini memungkinkan Anda untuk mengotomatiskan alur kerja pengembangan perangkat lunak Anda, mulai dari membangun, menguji, hingga menerapkan kode Anda.

Fitur Utama GitLab CI/CD

  • Integrasi Penuh: Terintegrasi langsung dengan repositori GitLab Anda, memudahkan akses kode dan pengelolaan alur kerja.
  • Konfigurasi YAML: Alur kerja didefinisikan dalam file .gitlab-ci.yml yang fleksibel dan mudah dibaca.
  • Pipeline: Mengelola alur kerja CI/CD sebagai serangkaian tahap (stages) dan pekerjaan (jobs).
  • Runner: Agen yang menjalankan pekerjaan CI/CD. Anda dapat menggunakan runner yang disediakan oleh GitLab atau menginstal runner Anda sendiri.
  • Artefak: Menyimpan hasil build dan pengujian untuk digunakan di tahap selanjutnya atau untuk penerapan.
  • Lingkungan: Mengelola lingkungan penerapan (misalnya, pengembangan, pengujian, produksi) dengan mudah.
  • Integrasi Kontainer: Mendukung penggunaan kontainer Docker untuk lingkungan build yang konsisten.
  • Penerapan Otomatis: Mengotomatiskan penerapan kode ke berbagai lingkungan.

Konsep Dasar GitLab CI/CD

  • .gitlab-ci.yml: File konfigurasi YAML yang mendefinisikan alur kerja CI/CD.
  • Pipeline: Serangkaian tahap dan pekerjaan yang dijalankan oleh GitLab CI/CD.
  • Stages: Tahap-tahap dalam pipeline yang menentukan urutan eksekusi pekerjaan.
  • Jobs: Pekerjaan individual yang dijalankan dalam sebuah tahap.
  • Runners: Agen yang menjalankan pekerjaan CI/CD.
  • Artefacts: Hasil build dan pengujian yang disimpan.

Membuat Alur Kerja GitLab CI/CD

  1. Buat File .gitlab-ci.yml: Di repositori Anda, buat file .gitlab-ci.yml di direktori root.
  2. Definisikan Alur Kerja: Tentukan tahap, pekerjaan, dan skrip dalam file .gitlab-ci.yml.
  3. Commit dan Push: Commit dan push file .gitlab-ci.yml ke repositori Anda.
  4. GitLab CI/CD Akan Menjalankan Pipeline: GitLab CI/CD akan secara otomatis menjalankan pipeline berdasarkan konfigurasi yang Anda tentukan.

Contoh Alur Kerja Sederhana

stages:
- build
- test

build-job:
stage: build
script:
- echo "Building..."
- echo "Build completed."

test-job:
stage: test
script:
- echo "Testing..."
- echo "Tests passed."