• Tidak ada hasil yang ditemukan

Source Code Management (SCM)

N/A
N/A
Protected

Academic year: 2023

Membagikan "Source Code Management (SCM)"

Copied!
50
0
0

Teks penuh

(1)

Menggunakan GitHub sebagai kolaborasi Project Pemrograman

Web

Agung Sasongko, M.Kom

Biro Teknologi Informasi Universitas Bina Sarana Informatika

(2)

Source Code Management (SCM)

Tools untuk kolaborasi antar developer.

• Install aplikasi GIT di Laptop / PC

• Untuh aplikasi GIT di : https://git-scm.com/downloads

• pilih unduhan sesuai arsitektur OS yang digunakan (32-bit / 64-bit)

• Install GIT dari file installer yang telah diunduh.

(3)

Membuat Project di Flutter

• Jalankan perintah:

• flutter create --org id_aplikasi nama_aplikasi

• Keterangan:

• id_aplikasi : harus unik agar tidak ditolak di playstore jika ada id aplikasi yang sama. Bila ada aplikasi yang berbeda dan id aplikasi sama pada perangkat, maka ada di replace.

• nama_aplikasi: nama project dan nama aplikasi yang akan tampil di launcher.

• contoh:

• flutter create --org com.agung.app1 contoh1

(4)

Membuka Project

• Untuk membuka di VSCode, Jalankan perintah di terminal:

• code ./contoh1

(5)

Menggunakan GIT

(6)

Mendaftar GitHub.com

• Buka https://github.com

• Jika belum memiliki akun di github lakukan pendaftaran:

• klik menu Sign Up

(7)

Mendaftar GitHub.com (Lanjutan 1)

• Isikan Email : alamat email yang belum pernah digunakan.

• Password : terdiri dari huruf kecil, angka dan symbol contoh password : makan2sate@rumah (bebas saja tidak harus ini)

• Username : dibuat unique, tidak boleh ada yang sama dengan milik orang lain.

• Klik Continue dan selesaikan langkah validasi pengguna.

• Buka email yang didaftarkan untuk mendapatkan kode verifikasi.

• Masukkan kode verifikasi sesuai yang dikirim github ke email.

• Lengkapi pertanyaan survey dari github. isikan saja sesuai kata hati kamu :D

(8)

Menyiapkan Repository Project

(9)

Menyiapkan Repository (Lanjutan 2)

• Buat Repository misal seperti berikut:

• repository name: flutter_contoh1

• Isikan description sebagai catatan project

• Tentukan akses Public / Private

• Gulir ke bawah klik

(10)

Setting Git Direktori Project (Inisialisasi)

• Di direktori project Flutter jalankan di terminal :

git init

• Tujuannya sebagai pengaturan permulaan sebagai direktori yang akan menggunakan GIT.

• Cukup dijalankan sekali.

(11)

SSH Key

(12)

Membuat SSH Key

• Membuat SSH Key menggunakan ssh-keygen

• Tujuannya untuk pengganti kegiatan login. Identifikasi pengguna ke server github.

Pengguna Windows pastikan telah instalasi PowerShell.

• Jalankan perintah diterminal:

• ssh-keygen

• Kosongkan saja semua isian

• enter ... enter .. dan enter,, hingga selesai

• Hasil file ssh key berada di direktori /home/[user]/.ssh

(13)

Pasang SSH Key

• Buka direktori /home/[user]/.ssh

id_rsa.pub : buka file ini dan salin isinya.

• buka github.com/

• Login sebagai pengguna.

(14)

Pasang SSH Key (Lanjutan 1)

• Klik tombol [ New SSH Key]

• Isikan judul SSH

• Paste isi file id_rsa.pub ke bagian Key

• Klik tombol [Add SSH Key]

(15)

Konfigurasi Alamat Server Repository

• git remote add [nama remote] [alamat] : untuk menambah alamat remote repository

• get remote -v : untuk melihat alamat remote repository yang sudah di set.

Karena menggunakan SSH Key, maka alamat git yang digunakan adalah SSH

(16)

Setting Git (Set alamat repository)

Tentukan alamat remote repository

• Tujuannya agar setiap melakukan

pengiriman (push) atau penarikan (pull) source code pada alamat yang diinginkan.

• Alamat repository Lihat pada Quick Setup di github.

• Perintah penambahan alamat:

git remote add [nama_remote] [alamat]

• contoh:

git remote add origin [email protected]:agung851/flutter_contoh1.git

• Keterangan:

• origin : nama remote. ini bebas, boleh gunakan nama lainnya

(17)

Konfigurasi Cabang (Branch)

• Menentukan cabang repository:

git branch -M [nama cabang]

• Contoh:

git branch -M master

• Lihat cabang

git branch

(18)

Menentukan File yang akan di unggah ke Repository

• git add [file] : menentukan file yang akan dikirim ke repository

• Menentukan semua file pada project dapat gunakan perintah

• git add .

• Menentukan semua file pada direktori:

git add ./namadirektori/.

• Menentukan salah satu file:

git add ./file1.dart

• Menentukan beberapa file:

git add ./file1.dart ./file2.dart

(19)

Memberi Catatan kiriman file

• Setiap file yang sudah ditentukan akan di unggah harus diberikan catatan.

• Contoh:

git commit -m “commit pertama kali”

(20)

Mengirim file ke repository

• Untuk mengirimkan file ke repository Jalankan perintah :

git push [nama remote] [nama cabang]

• Contoh

git push origin master

(21)

Check di Repository GitHub

(22)

Git Flow

(23)

Sumber: https://iamchuka.com/content/images/size/w2000/2018/05/gitflowimage.png

Jenis Cabang (Branch)

• Master: source yang mencatat riwayat release.

• Hotfix: source yang sedang

tahap perbaikan karena adanya bug yang ditemukan.

• Release: Setelah tahap develop dirasa sudah cukup, maka

dimasukan ke cabang ini.

• Develop: Cabang untuk

integrasi fitur-fitur yang sedang dikerjakan.

• Feature: Cabang yang digunakan saat sedang

mengerjakan fitur-fitur pada aplikasi.

(24)

Peruntukan Branch Bagi Developer + IT Operations

Produksi

Tester External / Beta Tester

Tester Internal / Alpha Tester

(25)

Install GIT Flow

• Git Flow : extensi GIT untuk pengelolaan branching model (model percabangan) pada repository GIT.

• Install di mac menggunakan homebrew:

• brew install git-flow-avh

• Install di Linux (debian)

• sudo apt-get install git-flow

• Install di Windows (cygwin)

• wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow- avh/develop/contrib/gitflow-installer.sh install stable | bash

(26)

Memulai Git Flow

• Jalankan di terminal pada direktori project:

• git flow init

• Tentukan nama-nama branch, anjuran ikuti saja nilai default

(27)

Membuat Feature page_beranda

• Misalkan akan membuat halaman beranda:

• Jalankan di terminal:

• git flow feature start [nama feature]

• Contoh:

git flow feature start page_beranda

• Jalankan git branch untuk melihat posisi cabang yang sedang digunakan.

(28)

Membuat Feature page_beranda (Lanjutan 1)

• Buat file beranda_screen.dart di direktori ./lib/ui

• seperti contoh berikut:

(29)

Membuat Feature page_beranda (Lanjutan 2)

• Jalankan perintah di terminal untuk menambahkan file yang sedang dikerjakan pada branch feature.

git add ./lib/ui/beranda_screen.dart

• Berikan catatan file yang dikirim dengan isi catatan “ui beranda”

git commit -m “ui beranda”

• Kirim ke repository

git flow feature publish page_beranda

(30)

Membuat Feature page_beranda (Lanjutan 3)

• Cek di bagian repository, Cabang feature/page_beranda tampil di bagian branch

(31)

Membuat Feature page_beranda (Lanjutan 4)

• Apabila pekerjaan pembuatan feature sudah selesai, maka jalankan perintah diterminal:

• git flow feature finish [nama_feature]

• Contoh:

git flow feature finish page_beranda

• Perintah diatas akan menghapus branch feature/page_beranda dari repository github.

selanjutnya, agar code yang ada di komputer dikirimkan ke repository cabang develop github, jalankan:

git push origin develop

(32)

Hal yang harus diperhatikan

• Setiap pekerjaan kecil dipecah menjadi Feature

• Feature yang sudah selesai dikerjakan dikembalikan flownya ke develop.

• Dalam bekerja secara kolaborasi saat pengiriman ke repository, programmer melakukan git add hanya pada file yang menjadi tugasnya saja.

• File source code yang telah dirubah, namun bukan bagian tugasnya tidak boleh di masukkan pada perintah git add.

• 1 file source code hanya boleh di kelola oleh 1 orang dalam waktu yang bersamaan.

(33)

Release

• Cabang release dijalankan apabila pada fase develop dianggap sudah selesai membuat feature- feature yang ditentukan.

• Pada komputer tester internal, jalankan di terminal perintah git pull:

git pull origin develop

• Selanjutnya, apabila dari sisi internal tester sudah selesai pengujian, maka buat release. Misalkan release diberi versi 0.1, maka jalankan di terminal :

• git flow release start [versi]

• Contoh:

git flow release start ‘0.1’

• Untuk diunggah ke repository jalankan perintah:

git add ./filetambahan.dart

git commit -m “catatan file yang ditambah”

git flow release publish ‘0.1’

• Selanjutnya bagi beta tester yang ingin menguji, maka melakukan ambil source dari cabang release:

git pull origin release/0.1

• Jika hasil testing dianggap sudah selesai, tutup release:

git flow release finish ‘0.1’

(34)

Master Tag

• Release yang sudah di finish dari git flow, maka pada akan ditambahkan tag [versi] di branch master.

• Lihat tag di master:

• masuk ke branch master : git checkout master

• Lihat tag : git tag -l

• Jangan lupa push tag agar menyimpan source versi tag yang telah dibuat:

git push origin --tags

(35)

Cek Tag Master

(36)

Hotfix

• Cabang master adalah cabang yang siap diproduksi. Namun bila ada ditemukan bugs / kesalahan, maka harus dilakukan perbaikan. Perbaikan dari cabang master dilakukan pada cabang hotfix.

• Jalankan perintah diterminal:

• git flow hotfix start [versi master]

Contoh:

git flow hotfix start ‘hotfix-0.1’

• Selama perbaikan berlangsung, source yang ingin disimpan ke repository jalankan perintah:

git add ./fileyangdiperbaiki.dart

git commit -m“catatan apa yangdiperbaiki”

git flow hotfix publish ‘hotfix-0.1’

• Jika sudah selesai melakukan perbaikan jalankan:

git flow hotfix finish ‘hotfix-0.1’

• Masuk ke cabang master, dan lakukan push

git checkout master

git push origin --tags

(37)

Kolaborasi di GIT

(38)

Menambahkan Colaborator

• Pilih menu Settings

(39)

Tambahkan Pengguna Github

• Pilih menu Manage Access

• Kil tombol [Add People]

• Cari berdasarkan ID Pengguna Github

• Jika sudah ketemua klik tombol [Add]

(40)

Konfirmasi Invite

• Pengguna yang diundang menjadi kolaborator harus melakukan approve undangan yang dikirim melalui email

• Sebelum klik view invitation, pastikan pengguna sudah melakukan login ke akun github

(41)

Terima Undangan

• Klik [Accept Invitation] untuk menerima sebagai kolaborator

(42)

Membuat Milestone di Github

(43)

Milestone?

• Timeline (Garis waktu)

• Point pekerjaan yang memiliki jangka waktu

• Suatu point memiliki ketergantungan dengan point sebelum maupun sesudah

• Contoh:

20 Jul - 15 Ags 16 Ags - 20 Ags 21 Ags - 26 Ags 27 Ags - 31 Ags 1 Sep - 5 Sep 6 sep - 10 sep Desain UI/UX Membuat dokumen kontrak kebutuhan &

API documentation

Menerapkan kode : pembuatan UI dari Desain Integrasi BloC di UI Membuat class Model, Repository dan

Bloc

Membuat web RestfulAPI

(44)

Membuat Milestone

• Klik menu [Issues] -> [Milestone]

(45)

Tambah Baru Milestone

• Klik tombol [New Milestone]

(46)

Isikan Milestone

• Isikan Title,tanggal akhir dan deskripsi pekerjaan milestone

• Jika sudah Klik [Create MIlestone]

(47)

Issue

(48)

Issue Board

• Sebagai catatan berupa tugas, laporan bugs, permintaan fitur dll,

• Setiap issue dapat dijadikan penugasan kepada kolaborator dan dapat ditentukan batas waktu pekerjaan.

• Membuat Issue, Pilih menu Issue -> [New Issue]

(49)

Buat Issue Baru

• Isikan Title (Judul tugas)

• Isikan Description berupa rincian pekerjaan

• Tentukan penugasan kepada kolaborator (assignees)

• Tentukan label sesuai penugasan

• Tentukan Milestone

• Klik [Submit new issue] untuk menyimpan tugas.

(50)

Close Issue

• Jika tugas yang diberikan sudah selesai dikerjakan dan di push ke github, maka lakukan Close Issue.

• Pilih Issue

• Isikan Komentar, dan klik tombol [Close with comment]

Referensi

Dokumen terkait