# Siklus Pembangunan

Kami menggunakan git sebagai VCS dalam platform gitlab. Untuk menghindari konflik pada repositori, developer harus mengikuti alur yang sudah ditentukan semasa siklus pembangunan:

Workflow

# 1. Pull master

Sebelum kamu memulai pekerjaan, kamu wajib pull versi terbaru dari branch main atau master. Jika kamu menggunakan metode fork, kamu bisa menambahkan remote url yang mengarah ke repository utama.

contoh bekerja dengan metode multi branch:

git checkout -b my-personal-branch
# pull repo
git fetch origin master:master

contoh bekerja dengan metode fork:

git remote add main http://gitlab.com/user/main-repo.git
# pull repo
git pull main master

# 2. Work

Setelah pull dilakukan, pastikan branch dimana kamu bekerja sudah diperbarui.

contoh bekerja dengan metode multi branch:

git checkout my-personal-branch
git merge master

contoh bekerja dengan metode fork:

git checkout master
git merge main/master

# 3. Push repository

Jika kamu memiliki akses menulis di repository utama mengunakan multi branch, kamu bisa push ke repository utama. Jika tidak, kamu bisa menggunakan metode fork.

contoh bekerja dengan metode multi branch:

git add -A .
git commit -m 'fix issue #2'
git push -u origin my-personal-branch

contoh bekerja dengan metode fork:

git add -A .
git commit -m 'fix issue #2'
git push -u origin master

# 4. Merge

Ajukan merge request kepada maintainer repository. Setelah maintainer menyetujuinya, source code kamu akan masuk ke antrian CI/CD untuk di test secara otomatis.
Source code akan digabungkan ke master branch di respository utama jika lolos test.
Apabila source code kamu tidak lolos test, maka kamu perlu memperbaiki kode atau fitur yang berkaitan dengan kegagalan pada saat test.

Lakukan kembali langkah 1 sampai dengan 3 setiap harinya atau sesering mungkin, dan lakukan langkah 4 jika kamu berpikir bahwa source code kamu sudah siap untuk di test. Kecepatan dan Kesuksesan langkah 4 akan mempengaruhi performa individu.