Tutorial CI (Continuous-Integration)
ASSALAMU'ALAIKUM Wr.Wb
A.PENDAULUAN
Bertemu lagi dengan saya.Kali ini saya akan
membahas tentang CI ( Continuous Integration ) atau bisa disebut juga
integrasi berkelanjutan.
B.LATAR BELAKANG
Ingin mengetahui tentang CI dan Fungsinya untuk apa.
C.MAKSUD DAN TUJUAN
Agar kita bisa memahaminya dan mengetahui fungsi dari CI dan Pengertiannya.
D.PEMBAHASAN
Continuous Integration,
untuk selanjutnya kita sebut CI saja, merupakan salah satu kegiatan
untuk meningkatkan produktivitas dalam pengembangan aplikasi di mana
seluruh hasil kerja (source code) dari masing-masing developer
digabungkan (push) ke dalam satu wadah (server repository source code).
Bisa sekali sehari, bisa juga beberapa kali dalam sehari. Setiap
penggabungan source code akan diverifikasi secara otomatis oleh server
CI, yang memungkinkan tim untuk mendeteksi secara dini jika ada
masalah/konflik/error pada saat penggabungan source code.
Setelah penggabungan hasil kerja (source code) selesai, server CI otomatis akan melakukan proses
build untuk memastikan tidak ada kode yang merusak/membuat proses
build gagal. Jadi semakin cepat kegagalan
build ini diketahui semakin cepat pula kita meresponnya. Dan jika proses
build-nya berhasil akan dilanjutkan dengan proses
deploy. Selain itu server CI juga bisa dikonfigurasi untuk melakukan proses lain seperti menjalankan
unit testing, integration testing dan
testing otomatis lainya
Sebagai .NET developer kita sudah biasa melakukan proses
build dengan menekan tombol F5 (Start Debugging) atau Ctrl+F5 (Start Without
Debugging) baik pada waktu development atau perbaikan bug. Sedangkan
untuk contoh
deploy anggap saja seperti kita membuat paket
installer yang akan didistribusikan ke komputer/server klien. Nah dengan
menggunakan CI semua proses ini bisa dilakukan secara otomatis dan
terpusat, sehingga kita mempunyai arsip hasil
build dan
deploy
dari waktu ke waktu. Jadi untuk mencari file setup/paket installer
terakhir enggak usah lagi nanya ke developer karena bisa langsung kita
download dari server CI-nya.
Proses
build ini selain bisa dibuat otomatis setiap kita mem-
push
source code ke server repository bisa juga kita buatkan jadwalnya,
misal pas jam makan siang atau jam pulang kantor. Jadi di kantor dibuat
kesepakatan/aturan klo ada yang merusak
build pas jam makan siang enggak boleh makan siang sampai proses
build-nya berhasil atau yang merusak
build pas jam pulang kantor enggak boleh pulang sampai proses
build-nya berhasil :-D
Jadi dengan menggunakan CI, alur kerja kita lebih kurang seperti berikut :
- Menulis kode, build dan tes di komputer masing-masing (seperti biasa).
- Commit dan push kode ke server repository/source control seperti GIT atau SVN.
Di masing-masing repository kita pasang
hook script untuk memanggil job/project yang sudah kita buat dan konfigurasi di server CI.
- Server CI akan meng-clone repository kemudian melakukan build, menjalankan tes tes otomatis (jika ada) dan deploy secara otomatis. Jika buildnya gagal ulangi lagi langkah pertama
E.HASIL YANG DIDAPAT
Kita jadi mengetahui apa yang dimaksud dengan CI.
F.KESIMPULAN
Kesimpulannya yaitu CI itu integrasi berkelanjutan yang berfungsi sebagai pencegah masalah integrasi.
G.PENUTUP
Sekian dari saya semoga bermanfaat untuk kita semua.
Wassalamu'alaikum Wr.Wb