Melanjutkan pembahasan tentang Server CI (Continuous Integration). Kita sudah berhasil membuat project/job untuk melakukan proses build
dan deploy
secara otomatis dan terpusat di satu server. Hanya saja, ada sedikit yang kurang yaitu project/job ini harus kita jalankan/eksekusi secara manual setelah proses push
source code ke server repository kita lakukan, dan tentunya akan sangat merepotkan jika harus bolak-balik mengeksekusi project/job setiap selesai melakukan proses push
.
Nah untuk solusi masalah ini, kita akan menambahkan sedikit skrip agar proses eksekusi project/job ini bisa berjalan secara otomatis setelah selesai melakukan proses push
. Skrip ini dikenal dengan nama hook script
. Jadi source control seperti Git, mempunyai sekumpulan skrip (hook script ) dengan nama tertentu yang akan di eksekusi oleh git sebelum atau sesudah event-event tertentu, seperti: commit, push, receive dan event-event lainnya. Hook script
ini disimpan di folder hooks
masing-masing folder repository.
Pada gambar di atas, saya menambahkan file hook script dengan nama post-receive
, file ini akan dieksekusi secara otomatis seteleh proses push
selesai. Berikut contoh isi dari file post-receive
.
Skrip post-receive
di atas akan mengakses URL/alamat yang di gunakan untuk proses build
dan deploy
yaitu :
1
|
|
JENKINS_URL
diisi dengan alamat dari server jenkins misalhttp://localhost:8080
JOB_NAME
diisi dengan nama project/job jenkins misalnorthwind-build
TOKEN_NAME
diisi dengan sembarang nilai token, misalcnwlhaUq6g5Uwzvg6ePI
Selain itu untuk mengakses URL ini juga dibutuhkan informasi user dan APInya, misal menggunakan user admin
dengan apinya 94a0428ca9d8d1d6c2e229fe1183f98
. Selain menggunakan user API kita juga bisa menggunakan langsung password dari user tapi tentunya cara yang kedua ini tidak disarankan.
Mendapatkan Informasi User API
Informasi user API bisa diakses melalui menu Manage Jenkins
-> Manage Users
-> Configure
Kemudian klik tombol Show API Token…
Mengaktifkan Project/Job Authentication Token
Untuk bisa mengakses URL JENKINS_URL/job/JOB_NAME/build?token=TOKEN_NAME selain membutuhkan User
dan User API
, kita juga perlu mengaktifkan project/job Authentication Token melalui link Project
-> Configure
Kemudian aktifkan pilihan Trigger builds remotely
Untuk nilai Authentication Token
diisi sesuai keinginan, kalo saya biasanya menggunakan tool KeePass untuk mengenerate nilai tokennya.
Testing Build Otomatis
Setelah menyelesaikan konfigurasi di atas, saatnya melakukan pengetesan apakah konfigurasinya sudah benar atau belum. Berikut langkah-langkahnya :
- Aktifkan project Northwind
Tambahkan method abstract baru di interface IProductRepository, misal dengan nama
GetByCategoryName
Kemudian lengkapi implementasinya method abstractnya di class ProductRepositoryDapper
Terakhir lakukan
commit
danpush
Dan secara otomatis proses
build
dandeploy
di server CI akan dijalankan
Kesimpulan
Dengan memanfaatkan hook script
proses build
dan deploy
bisa dibuat otomatis pada event- event-event tertentu, seperti: commit, push, receive dan event-event lainnya.
Selamat Mencoba :-)