# Pengembangan Software di Gitlab
# Gitlab Overview
Gitlab merupakan source code management berbasis web. Tidak hanya itu, Gitlab juga menyediakan berbagai tools untuk kemudahan pengembangan Software. Diantaranya ialah issue-tracking, CI/CD pipelines dan git-repository. KawalCovid19 menggunakan gitlab sebagai management pengembangan Software dan juga untuk kordinasi teknis. Gambaran umum hal teknis pengembangan software di Gitlab bisa Anda temukan pada laman ini.
# Definisi Umum
Ada beberapa istilah teknis terkait pengembangan Software di Gitlab. Beberapa mungkin akan sering dijumpai oleh para kontributor. Diantaranya ialah:
- Issue : Identifikasi masalah dari proses development. Tiap kontributor dapat membuat issue baru ketika menemukan masalah dalam proses development.
- Merge Request: Permintaan penggabungan atau persetujuan perubahan dari kontributor.
- Epic : Issue-issue yang saling berkaitan.
- WIP : Work in Progres artinya pekerjaan masih dalam tahap penyelesaian.
- Milestone : Monitoring proses development. Penentuan target development untuk siap dirilis.
- Label : Penanda untuk memudahkan kontributor mengkategorikan status dari Issue atau pun Merge Request.
# Gitlab Workflow
# Membuat Issue
Untuk mulai berkontribusi, carilah issue yang akan diselesaikan. Jika belum ada pada list issue, silahkan buat issue baru. Standart Gitlab Workflow selalu menyarankan untuk selalu mulai dengan issue. Issue merupakan Single Source of Truth. Artinya, semua bentuk penyelesaian dan kordinasi acuannya dari issue.
# Mengirim Merge Request
Setelah Anda memutuskan untuk menyelesaikan suatu issue, langkah selanjutnya mulai bekerja untuk berubahan yang ditawarkan dan buat Merge Request Anda. Biasanya, Anda akan ditawari untuk membuat Merge Request dari issue terkait. Anda juga akan dibuatkan branch dengan penomoran dan nama sesuai issue terkait.
List Merge Request yang telah dikirimkan untuk di-review.
# Mereferensikan Issue dan Merge Request
Untuk memudahkan tracking suatu Issue dan penyelesaiannya, Gitlab memiliki mekanisme referensi. Dengan mereferensikan Merge Request ke Issue terkait, banyak kemudahan yang bisa dicapai. Salah satunya ketika Merge Request diterima, Issue akan secara otomatis ditutup ketika menambahkan kata khusus yang dikenali Gitlab (Fixes, Closees) diikuti referensi. Referensi dapat ditulis di komen, konten utama maupun commit message. Referensi di Gitlab memiliki penulisan khusus.
- Simbol
!
menandakan referensi ke Merge Request. Contohnya!123
merujuk ke Merge Request dengan nomer 123. - Simbol
#
menandakan referensi ke Issue. Contohnya#124
merujuk ke Issue dengan nomer 124. - Simbol
$
menandakan referensi ke Snippet. Contohnya$300
merujuk ke Snippet dengan nomer 300.