Cara Menjalankan dan Melindungi Jobs Manual di Pipeline GitLab CI/CD
Pipeline GitLab CI/CD merupakan komponen penting dalam alur kerja pengembangan perangkat lunak modern, menyediakan otomatisasi untuk membangun, menguji, dan menerapkan aplikasi. Namun, ada skenario di mana intervensi manual diperlukan, dan GitLab memungkinkan Anda untuk membuat Jobs manual dalam pipeline Anda. Artikel ini akan membahas cara menjalankan dan melindungi Jobs manual di pipeline GitLab CI/CD.
Memahami Jobs Manual di GitLab CI/CD
Jobs manual adalah Jobs yang memerlukan intervensi pengguna untuk dieksekusi. Berbeda dengan Jobs otomatis yang berjalan secara otomatis ketika dipicu oleh peristiwa seperti push kode atau permintaan merge, Jobs manual menunggu pengguna untuk memulainya. Jobs manual berguna dalam skenario seperti:
- Menerapkan ke lingkungan produksi di mana persetujuan manusia diperlukan.
- Menjalankan tes atau skrip tertentu hanya dalam kondisi tertentu.
- Melakukan tugas kritis yang membutuhkan pengawasan ketat.
Menyiapkan Jobs Manual
Untuk menyiapkan Jobs manual dalam pipeline GitLab CI/CD Anda, Anda perlu mendefinisikannya dalam file .gitlab-ci.yml
dengan kata kunci when: manual
.
Contoh Konfigurasi
Berikut adalah contoh dasar file .gitlab-ci.yml
dengan Jobs manual:
Dalam konfigurasi ini, deploy_staging
dan deploy_production
adalah Jobs manual yang perlu dipicu oleh pengguna.
Menjalankan Jobs Manual
Untuk menjalankan Jobs manual, ikuti langkah-langkah berikut:
- Navigasi ke Pipeline: Buka proyek Anda di GitLab dan klik "CI / CD" di sidebar, kemudian pilih "Pipelines."
- Lihat Pipeline: Temukan pipeline yang ingin Anda jalankan Jobs manualnya dan klik.
- Jalankan Jobs Manual: Anda akan melihat tahap dan Jobs yang didefinisikan dalam pipeline. Jobs manual akan memiliki tombol "Play" di sebelahnya. Klik tombol "Play" untuk memulai Jobs.
Melindungi Jobs Manual
Melindungi Jobs manual sangat penting untuk memastikan bahwa hanya personel yang berwenang yang dapat memicunya, terutama untuk tugas sensitif seperti penerapan ke produksi. GitLab menyediakan beberapa mekanisme untuk mengamankan Jobs manual.
branch dan Tag yang Dilindungi
Salah satu cara utama untuk melindungi Jobs manual adalah dengan menggunakan branch dan tag yang dilindungi. Ini memastikan bahwa hanya pengguna tertentu yang dapat menjalankan Jobs yang terkait dengan branch atau tag yang dilindungi.
-
Lindungi branch:
- Buka proyek Anda di GitLab.
- Klik "Settings" di sidebar, kemudian "Repository."
- Gulir ke bawah ke "Protected branches" dan tambahkan branch yang ingin Anda lindungi.
- Tentukan peran yang diizinkan untuk mendorong dan menggabungkan.
-
Lindungi Tag:
- Di pengaturan "Repository" yang sama, gulir ke "Protected tags."
- Tambahkan tag yang ingin Anda lindungi dan tentukan peran yang diizinkan.
Perlindungan Tingkat Jobs
Anda juga dapat melindungi Jobs secara langsung dengan menentukan siapa yang dapat menjalankannya dalam file .gitlab-ci.yml
.
Menggunakan Izin GitLab
GitLab memungkinkan Anda memberikan peran berbeda kepada pengguna, seperti Maintainer, Developer, Reporter, dll. Anda dapat mengontrol siapa yang memiliki izin untuk menjalankan Jobs manual dengan memberikan peran yang sesuai kepada anggota tim.
Praktik Terbaik untuk Jobs Manual
- Dokumentasi yang Jelas: Pastikan instruksi untuk menjalankan Jobs manual terdokumentasi dengan baik dan dapat diakses oleh mereka yang perlu menjalankannya.
- Notifikasi dan Persetujuan: Atur notifikasi untuk Jobs manual yang perlu dijalankan, dan jika perlu, implementasikan proses persetujuan.
- Audit Keamanan: Tinjau secara berkala siapa yang memiliki akses untuk menjalankan Jobs manual dan pastikan izin sudah terbaru.
- Pemisahan Lingkungan: Gunakan lingkungan terpisah untuk staging dan produksi, dan pastikan hanya personel yang disetujui yang dapat menerapkan ke produksi.
Kesimpulan
Jobs manual di pipeline GitLab CI/CD memberikan fleksibilitas untuk memperkenalkan pengawasan manusia dalam alur kerja otomatis Anda. Dengan mengonfigurasi dan melindungi Jobs ini dengan benar, Anda dapat memastikan bahwa tugas-tugas kritis dieksekusi dengan persetujuan dan kontrol keamanan yang diperlukan. Menerapkan praktik ini akan membantu menjaga integritas dan keamanan proses CI/CD Anda, memungkinkan tim Anda untuk mengirimkan perangkat lunak berkualitas tinggi secara efisien.
Baca juga: HOW TO SET UP A MANUAL PIPELINE ON GITLAB
Baca juga: WHY DEVOPS AND DEVSECOPS NEED GITLAB