Penjadwalan otomatis di Jenkins, atau Build Triggers, adalah fitur yang memungkinkan kita mengatur job agar berjalan sesuai jadwal yang ditentukan, tanpa perlu menjalankannya secara manual. Fitur ini sangat penting bagi tim pengembang dan DevOps, karena membantu menghemat waktu dan memastikan build selalu up-to-date, mendukung alur Continuous Integration (CI) dengan lebih baik. Dengan Build Triggers, Jenkins dapat menjalankan job secara berkala atau memeriksa perubahan di kode sumber dan melakukan build otomatis saat ada perubahan.
Berikut adalah panduan langkah demi langkah untuk mengatur penjadwalan otomatis di Jenkins, baik berdasarkan waktu tertentu maupun berdasarkan perubahan kode:
Langkah-langkah Mengatur Penjadwalan Build Otomatis di Jenkins
Masuk ke Jenkins dan Pilih Job yang Akan Dijadwalkan
- Buka Jenkins melalui browser dan login dengan akun Anda.
- Navigasikan ke job yang ingin Anda atur penjadwalannya. Jika belum memiliki job, buat job baru dengan mengklik New Item dan pilih tipe job yang sesuai.
Buka Konfigurasi Job
- Setelah masuk ke halaman job, klik tombol Configure di sisi kiri untuk membuka pengaturan job.
Pilih Opsi Build Triggers
- Gulir ke bawah hingga menemukan bagian Build Triggers. Di sini, Anda akan menemukan beberapa opsi untuk memicu build secara otomatis.
Mengatur Penjadwalan dengan Build Periodically
- Centang opsi Build periodically untuk mengaktifkan penjadwalan otomatis berdasarkan waktu.
- Akan muncul kotak teks di mana Anda bisa memasukkan jadwal menggunakan format cron. Format penjadwalan ini terdiri dari lima kolom:
Berikut adalah beberapa contoh format penjadwalan yang umum digunakan:
Setiap 15 menit:
H/15 * * * *
Setiap hari pada pukul 3 pagi:
0 3 * * *
Setiap Senin pukul 9 pagi:
0 9 * * 1
Setiap hari kerja (Senin hingga Jumat) pada pukul 5 sore:
0 17 * * 1-5
Dalam contoh di gambar saya mengatur scheduled job untuk build now di setiap menit
Catatan:
H
adalah simbol hash yang digunakan Jenkins untuk mendistribusikan waktu eksekusi secara acak, sehingga mengurangi risiko overload pada server jika banyak job dijadwalkan pada waktu yang sama.
Menjadwalkan Build Berdasarkan Perubahan Kode dengan Poll SCM
- Jika Anda ingin build berjalan otomatis setiap kali ada perubahan di repositori kode, centang opsi Poll SCM.
- Masukkan jadwal polling di kotak teks yang muncul. Ini mirip dengan format cron pada Build periodically, tetapi hanya akan menjalankan build jika ada perubahan di Source Control Management (SCM), seperti Git.
- Misalnya, jika Anda mengatur polling setiap 5 menit dengan
H/5 * * * *
, Jenkins akan memeriksa repositori setiap 5 menit dan menjalankan build hanya jika ada perubahan kode.
Simpan Pengaturan
- Setelah mengatur penjadwalan sesuai kebutuhan, klik tombol Save atau Apply di bagian bawah halaman untuk menyimpan konfigurasi job.
Tips Menggunakan Build Triggers di Jenkins
- Menggunakan "H": Simbol "H" membantu mengurangi beban server dengan menyebar jadwal build secara acak dalam interval waktu yang ditentukan.
- Perencanaan Waktu Build: Usahakan untuk tidak menjadwalkan banyak job pada waktu yang sama, terutama jika job tersebut memerlukan sumber daya yang besar, untuk menghindari overload pada server.
- Cek Log Build: Setelah jadwal aktif, Anda bisa melihat log job untuk memastikan bahwa job berjalan sesuai jadwal yang telah Anda tentukan.
- Testing Cron Schedule: Anda bisa menggunakan layanan seperti crontab.guru untuk memverifikasi format cron sebelum memasukkannya ke Jenkins.
Dengan menggunakan Build Triggers, Anda bisa mengotomatisasi banyak tugas yang biasanya membutuhkan perhatian manual, memungkinkan tim Anda untuk fokus pada pengembangan fitur baru dan peningkatan kualitas produk. Fleksibilitas penjadwalan juga membuat Jenkins dapat dikustomisasi sesuai kebutuhan proyek, baik untuk menjalankan build setiap malam saat beban server lebih rendah, atau memastikan setiap commit segera diuji. Automasi penjadwalan ini pada akhirnya membuat Jenkins menjadi alat yang sangat kuat dalam alur DevOps dan CI/CD, membantu tim untuk terus berinovasi, mengurangi risiko kesalahan, dan mempercepat pengiriman pembaruan produk ke pengguna dengan lebih efisien.
Komentar
Posting Komentar