Langsung ke konten utama

Day 78 : Fitur scheduled job dalam jenkins

 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

  1. 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.
  2. Buka Konfigurasi Job

    • Setelah masuk ke halaman job, klik tombol Configure di sisi kiri untuk membuka pengaturan job.
  3. Pilih Opsi Build Triggers

    • Gulir ke bawah hingga menemukan bagian Build Triggers. Di sini, Anda akan menemukan beberapa opsi untuk memicu build secara otomatis.
  4. 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:
      MINUTE HOUR DAY MONTH DAY_OF_WEEK
      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.

       

  5. 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.
  6. 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

Postingan populer dari blog ini

Day 109 : Akhir dari Perjalanan PKL: Terima Kasih untuk PT Excellent

Hari ini adalah hari terakhir saya menjalani PKL di PT Excellent. Momen ini menjadi penutup dari perjalanan yang luar biasa penuh pembelajaran, pengalaman, dan kenangan yang tak terlupakan. Saya ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada keluarga besar PT Excellent atas kesempatan, bimbingan, dan kepercayaan yang telah diberikan kepada saya selama saya melaksanakan PKL di sini. Selama PKL, saya mendapatkan banyak pengetahuan baru yang sebelumnya belum pernah saya pelajari. Dari segi teknis, saya belajar banyak tentang teknologi seperti Zimbra, bahasa pemrograman Golang, hingga DevOps hal-hal yang awalnya terasa asing, kini menjadi ilmu yang berharga dan menjadi ilmu baru bagi saya. Namun, pembelajaran saya di PT Excellent tidak hanya terbatas pada aspek teknis. Saya juga belajar tentang kedisiplinan, tanggung jawab, profesionalisme, serta bagaimana pentingnya kolaborasi dalam lingkungan kerja. Terima kasih kepada Mas Ridwan, yang selalu membimbing saya dengan sab...

Day 108 : H-2 menuju akhir PKL

Waktu rasanya berjalan begitu cepat. Hari ini sudah masuk H-2 menuju akhir masa PKL saya di PT Excellent. Ada perasaan campur aduk antara lega karena akhirnya berhasil menyelesaikan semuanya, senang karena banyak pengalaman baru yang saya dapatkan, tapi juga sedikit. PKL di PT Excellent bukan cuma soal kerjaan atau belajar teknis, tapi juga perjalanan penuh cerita dan pelajaran. Setiap hari yang saya jalani di sini selalu memberi pengalaman baru, baik dari tugas yang menantang, bimbingan dari mentor, maupun suasana kerja yang hangat. Salah satu hal yang paling membekas adalah semangat belajar dari Pak Bos. Beliau pernah bercerita tentang bagaimana sibuknya beliau tapi tetap bisa belajar bahasa baru bahkan lebih dari satu bahasa. Itu benar-benar membuka mata saya, bahwa waktu senggang yang sering terbuang sebenarnya bisa dimanfaatkan untuk hal-hal yang lebih produktif. Mas Ridwan, yang selalu menemani kami saat briefing pagi, juga memberikan banyak pelajaran berharga. Setiap pagi kami b...

Day 82 : Membuat image dengan bahasa pemrograman golang

Hari ini, saya melanjutkan perjalanan belajar Docker dengan memanfaatkan Visual Studio Code (VSCode), editor favorit saya. Fokus utama saya adalah memahami cara membuat Docker image menggunakan alur kerja yang terintegrasi dengan VSCode. Proses ini tidak hanya efisien tetapi juga menyenangkan karena VSCode memiliki ekosistem yang kaya, termasuk berbagai ekstensi pendukung yang mempermudah pekerjaan. Mengapa Menggunakan VSCode untuk Docker? VSCode menyediakan lingkungan pengembangan yang lengkap dengan berbagai fitur, seperti: Docker Extension : Mempermudah pengelolaan image, container, dan jaringan Docker langsung dari editor. Terminal Terintegrasi : Menjalankan perintah Docker langsung dari VSCode tanpa perlu beralih aplikasi. Debugging Tools : Membantu melacak masalah aplikasi yang berjalan di dalam container, terutama bagi pengembang Golang. Dengan semua keunggulan ini, VSCode menjadi alat yang sangat mendukung dalam pengembangan berbasis Docker. Langkah-langkah Membuat Docker Image...