====== GIT Work Flow ====== {{ :dev:gitflow.png?800 |}} GIT merupakan //version control system// yang digunakan di T'Lab, secara default kita menggunakan 3 branch : - **Development** : Branch ini digunakan untuk menyimpan pekerjaan yang sudah selesai di develop - **Feature Branch** : Branch ini digunakan oleh tim Engineer untuk mengerjakan suatu fitur masih di develop - **Testing** : Branch ini digunakan oleh tim QA untuk melakukan pengetesan pada fitur. - **Production** : Branch ini berisi code yang akan di release ke Live Untuk percobaan silahkan menggunakan repo [[http://git.tlab.co.id/tlab-internal-system/standart-project|ini]]. To get more info please read this article [[https://nvie.com/posts/a-successful-git-branching-model/|A Successful Git Branching]] ====GIT Merge Branch Workflow==== {{ :dev:git_merge_2.png?800 |}} Berikut step by step penjelasan gambar di atas : - Buatlah branch baru dari target branch, misal nama nya **MR/Feature_name** - Kemudan merge feature branch yang di kerjakan ke branch yang dibuat pada point no 1 diatas - Silahkan dilakukan pengecekan di branch **MR/Feature_name**, jika ditemukan masalah silahkan dibugfix terlebih dahulu di Feature Branch kemudian di merge lagi ke **MR/Feature_name** - Jika tidak di temukan masalah lanjut ke step 4 yaitu membuat MR dari **MR/Feature_name** ke Target branch, kemudian di assgin ke Analyst - Catatan : jika target merge adalah Master maka source branch akan otomatis dihapus setelah berhasil di merge. ==== Standart Environment Development=== Terdapat 3 standart Environment yang diterapkan di T'Lab yaitu : * **Development** : Environment ini digunakan oleh Tim Engineer untuk proses developement. * **Staging** : Environment ini digunakan oleh Tim QA dalam proses pengetesan aplikasi. * **Production** : Environment ini digunakan untuk apliksi yang sudah release ke publik. Catatan: * Khusus untuk Project Base (No Product) hanya menggunakan 2 branch Development(Testing dijadikan 1 di branch ini) & Production * Pastikan memberi nama versi untuk setiap rilis. Kaidah pembuatan nama versi bisa mengikuti [[https://semver.org|Semver]] ==== Step by step to Release Mobile App==== Standart yang diterapkan di Tlab dalam proses release aplikas dibagi menjadi 4 tahap - **Release to Stagging**,Pada tahap ini, setelah developer menyelesaiakn fitur yang dikerajakan, maka aplikasi akan dibuild menggunakan ENV staging, pada ENV ini tim QA mulai melakukan pengecekan pada fitur-fitur yang sudah selesai di develop oleh Developer - **Release to Internal Test** - **Release to Beta** - **Release to Production** Catatan: * Pastikan memberi nama versi untuk setiap rilis. Kaidah pembuatan nama versi bisa mengikuti [[https://semver.org|Semver]]