Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Membangun Server CI (Continuous Integration) Di Windows Untuk Platform .NET Menggunakan Jenkins Bagian #3

| Comments

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/job/JOB_NAME/build?token=TOKEN_NAME
  • JENKINS_URL diisi dengan alamat dari server jenkins misal http://localhost:8080
  • JOB_NAME diisi dengan nama project/job jenkins misal northwind-build
  • TOKEN_NAME diisi dengan sembarang nilai token, misal cnwlhaUq6g5Uwzvg6ePI

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 dan push

  • Dan secara otomatis proses build dan deploy 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 :-)

Comments