Belajar CI/CD Jenkins #3: Membuat job pipeline

sumber
Setelah sebelumnya kita telah mengistal dan configurasi jenkins server saat ini kita akan belajar untuk membuat jenkins job sederhana dengan model pipeline. Caranya cukup mudah, yaitu pada tampilan awal jenkins pilih New Item (terdapat pada sebelah kiri dashboard) maka tampilannya akan seperti berikut:


Silahkan isi nama dari job yang akan dibuat, dan pilih pipeline. kemudian untuk configurasi jobnya terdapat beberapa bagian yang perlu diperhatikan, berikut contohnya:

1. General

kali ini pada bagian general kita dapat mencentang Github project dan menginputkan url dari github yang akan digunakan. Berikut ini contohnya:

2. Build Triggers

Selanjutnya adalah Build Triggers, pada bagian ini terdapat beberapa pilihan pemicu/trigger untuk memulai job ini. Namun yang paling sering digunakan oleh penulis yaitu GitHub hook trigger for GITScm polling ataupun Poll SCM. Sehingga kali ini kita akan memfokuskan pada kedua pilihan tersebut.

2a. GitHub hook trigger for GITScm polling

Pada Build Trigger ini yang akan memicu job ini berjalan yaitu adalah github, dimana setiap ada perubahan pada repository github maka github secara otomatis akan mengirimkan semacam sinyal ke server jenkins yang digunakan sebagai pemicu untuk menjalankan job tersebut. Pada Jenkins kita cukup mencentang bagian GitHub hook trigger for GITScm polling.



Setelah mencentangnya selanjutnya perlu beberapa configurasi yang perlu diperhatikan yaitu:
  • - Server Jenkins kita harus dapat di akses dari public
  • - perlu melakukan configurasi repository Github
untuk configurasi github dapat dilakukan dengan cara masuk kedalam directory yang di maksud pada github. Kemudian pilih setting dan klik Webhooks atau dapat menggunakan url berikut:
https://github.com/<id_github>/<nama_repo>/settings/hooks
maka selanjutnya kita dapat memilih Add Webhook, dan dapat mengisi Payload URL seperti berikut:
<URLmu.com>/github-webhook/
contohnya kali ini kita akan menggunakan url https://pjen.heryslty.xyz/github-webhook/ dengan alasan server jenkins dapat diakses menggunakan url https://pjen.heryslty.xyz . kemudian apply dengan cara pilih add webhook.

2b. Poll SCM

Berbeda dengan Build trigger sebelumnya, untuk Poll SCM yang memicu jalannya sebuah job adalah server jenkins. Cara kerjanya yaitu, server jenkins akan melakukan pengecekan berkala ke repository github dan apabila terdapat perubahan/commit pada repository tersebut maka hal tersebut akan memicu jenkins untuk menjalankan job tersebut. Cara configurasinya yaitu dengan mencentang Pull SCM dan mengisi dengan waktu yang diinginkan dan disesuaikan dengan format crontab. untuk format waktu crontab dapat dibuat dengan menggunakan crontabgenerator.com atau crontab.guru. Berikut contoh configurasi dimana jenkins akan melakukan pengecekan setiap menitnya:


3. Pipeline

Pada bagian ini kita dapat memilih cara untuk mendifinisikan pipeline dari job tyang kita buat. Pilihannya yaitu menuliskan pipeline script atau pipeline script from SCM.

3a. pipeline script

Untuk metode penulisan pipeline script secara manual caranya cukup mudah yaitu pada bagian Definition pilih pipeline script kemudian masukan tuliskan script pipeline secara manual.

3b. pipeline script from SCM

Untuk metode ini pada bagian Definition pilih pipeline script from SCM, maka akan muncul tambahan configurasi, dimana pada bagian SCM kita akan menggunakan GIT sebagai SCM (Source Control Management) seperti berikut:

Pada bagian Repository URL dapat diisikan URL github yang akan digunakan, kemudian buatlah credential untuk authentication saat jenkins menggunakan URL tersebut. Branch Specifier (blank for 'any') merupakan branch yang kita gunakan pada repository yang dimaksud. Dan yang terakhir adalah Script Path ini merupakan namafile dari Pipeline yang akan kita gunakan.

kemudian apabila semua sudah diconfigurasi dengan benar kita dapat menyimpan job tersebut dengan memilih save.

sampai disini kita telah berhasil membuat sebuah job sederhana menggunakan metode pipeline pada jenkins. Untuk pembahasan lainnya mengenai Belajar CI/CD Jenkins dapat dilihat pada link berikut:
Source: Hasil belajar dan ngulik bareng para suhu : Mas Estu & Mas Huda

Best Regards,
Heri Sulistiyo

Komentar