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

Day 35 : jalan-jalan bersama excellent

 Hari ini terasa sangat istimewa, dan jauh berbeda dari hari-hari biasanya selama PKL di PT Excellent. Ini adalah pengalaman pertama saya diajak jalan-jalan oleh perusahaan tempat saya magang, dalam rangka merayakan ulang tahun PT Excellent sekaligus melakukan sesi brainstorming tim.  Pagi itu, saya memulai hari dengan penuh semangat. Saya berangkat ke kantor menggunakan Gojek, menikmati perjalanan sambil membayangkan serunya hari yang akan dilalui. Setibanya di kantor, saya langsung bergabung dengan tim dan mulai memeriksa perlengkapan yang sudah disiapkan sebelumnya. Tugas saya adalah memastikan semua barang yang diperlukan tidak ada yang tertinggal, mulai dari alat-alat untuk acara hingga barang-barang pribadi tim. Saya sangat teliti kali ini, karena tidak ingin ada kesalahan di hari spesial ini. Setelah semuanya siap, sebelum berangkat, kami sempatkan untuk mengambil foto bersama seluruh tim. Rasanya hangat sekali, seperti menjadi bagian dari keluarga besar PT Excellent. P...