Tutorial Pipeline Jenkins: Cara Membuat JenkinsFile (Contoh)

Apa itu Pipa Jenkins?

Pipa Jenkins adalah kombinasi plugin yang mendukung integrasi dan implementasi alur pengiriman berkelanjutan. Memiliki server otomatisasi yang dapat diperluas untuk membuat alur pengiriman sederhana dan kompleks sebagai kode melalui DSL alur. Alur adalah sekelompok kejadian yang saling terkait satu sama lain dalam suatu urutan.

Apa itu Saluran Pengiriman Berkelanjutan? Bagaimana itu bekerja?

Dalam pipeline Jenkins, setiap pekerjaan atau peristiwa memiliki ketergantungan pada setidaknya satu peristiwa atau lebih.

Pengerjaan Pipa Pengiriman Berkelanjutan Jenkins
Pengerjaan Pipa Pengiriman Berkelanjutan Jenkins

Gambar di atas mewakili jalur pengiriman berkelanjutan di Jenkins. Ini berisi sekelompok negara yang disebut membangun, menyebarkan, menguji dan melepaskan. Peristiwa-peristiwa tersebut saling terkait satu sama lain. Setiap negara bagian memiliki kejadiannya sendiri, yang bekerja dalam urutan yang disebut saluran pengiriman berkelanjutan.

Alur pengiriman berkelanjutan adalah ekspresi otomatis untuk menampilkan proses Anda dalam mendapatkan perangkat lunak untuk kontrol versi. Dengan demikian, setiap perubahan yang dibuat dalam perangkat lunak Anda melewati sejumlah proses yang rumit dalam perjalanannya untuk dirilis. Ini juga melibatkan pengembangan perangkat lunak dengan cara yang andal dan dapat diulang, dan perkembangan perangkat lunak yang dibangun melalui beberapa tahap pengujian dan penyebaran.

Apa itu JenkinsFile?

Saluran pipa Jenkins dapat didefinisikan menggunakan file teks bernama File Jenkins. Anda dapat mengimplementasikan alur sebagai kode menggunakan JenkinsFile, dan ini dapat ditentukan dengan menggunakan bahasa khusus domain (DSL). Dengan JenkinsFile, Anda dapat menulis langkah-langkah yang diperlukan untuk menjalankan alur Jenkins.

Manfaat menggunakan JenkinsFile adalah:

  • Anda dapat membuat alur secara otomatis untuk semua cabang dan menjalankan permintaan tarik hanya dengan satu cabang File Jenkins.
  • Anda dapat meninjau kode Jenkins Anda di saluran
  • Anda dapat mengaudit saluran Jenkins Anda
  • Ini adalah sumber tunggal untuk saluran Anda dan dapat dimodifikasi oleh banyak pengguna.

JenkinsFile dapat ditentukan oleh UI Web atau dengan File Jenkins.

Sintaks alur deklaratif versus skrip:

Ada dua jenis sintaksis pipeline Jenkins yang digunakan untuk mendefinisikan JenkinsFile Anda.

  1. Deklaratif
  2. Ditulis

Deklaratif:

Sintaks alur deklaratif menawarkan cara mudah untuk membuat alur. Ini berisi hierarki yang telah ditentukan sebelumnya untuk membuat saluran Jenkins. Ini memberi Anda kemampuan untuk mengontrol semua aspek eksekusi pipeline dengan cara yang sederhana dan mudah.

Ditulis:

Pipeline Jenkins yang ditulis skrip berjalan pada master Jenkins dengan bantuan eksekutor yang ringan. Ia menggunakan sangat sedikit sumber daya untuk menerjemahkan pipeline menjadi perintah atomik. Baik sintaks deklaratif maupun skrip berbeda satu sama lain dan didefinisikan secara sangat berbeda.

Mengapa Menggunakan Pipa Jenkin?

Jenkins terbuka server integrasi berkelanjutan yang memiliki kemampuan untuk mendukung otomatisasi proses pengembangan perangkat lunak. Anda dapat membuat beberapa pekerjaan otomatisasi dengan bantuan kasus penggunaan, dan menjalankannya sebagai pipeline Jenkins.

Berikut adalah alasan mengapa Anda harus menggunakan pipa Jenkins:

  • Pipa Jenkins diimplementasikan sebagai kode yang memungkinkan banyak pengguna untuk mengedit dan menjalankan proses pipa.
  • Jaringan pipa kokoh. Jadi jika server Anda mengalami restart yang tidak terduga, pipeline akan dilanjutkan secara otomatis.
  • Anda dapat menjeda proses alur dan menunggu untuk melanjutkan hingga ada masukan dari pengguna.
  • Jenkins Pipelines mendukung proyek-proyek besar. Anda dapat menjalankan banyak pekerjaan, dan bahkan menggunakan alur dalam satu lingkaran.

Pipa Jenkins Concepts

Istilah Description
Pipa saluran Pipeline adalah sekumpulan instruksi yang diberikan dalam bentuk kode untuk pengiriman berkelanjutan dan terdiri dari instruksi yang diperlukan untuk keseluruhan proses pembangunan. Dengan pipeline, Anda dapat membangun, menguji, dan mengirimkan aplikasi.
Node Mesin yang menjalankan Jenkins disebut node. Blok simpul terutama digunakan dalam sintaksis pipa skrip.
Tahap Blok tahapan berisi serangkaian langkah dalam alur. Artinya, proses pembuatan, pengujian, dan penerapan semuanya dilakukan secara bersamaan dalam satu tahap. Umumnya, blok tahapan digunakan untuk memvisualisasikan proses pipeline Jenkins.
Langkah Sebuah langkah tidak lain hanyalah sebuah tugas yang menjalankan proses tertentu pada waktu yang ditentukan. Sebuah saluran pipa melibatkan serangkaian langkah.

Instal Plugin Build Pipeline di Jenkins

Dengan membangun pipa plugin, Anda dapat membuat tampilan saluran pekerjaan masuk dan keluar, dan membuat pemicu yang memerlukan intervensi manual.

Inilah cara Anda menginstal membangun pipa plugin di Jenkins Anda:

Langkah 1) Pengaturan untuk plugin dapat ditemukan di bawah,

Kelola Jenkins > Kelola Plugin.

Instal Plugin Build Pipeline di Jenkins

Jika Anda sudah menginstal plugin, plugin tersebut akan ditampilkan di bawah tab diinstal.

Instal Plugin Build Pipeline di Jenkins

Langkah 2) Jika Anda belum menginstal plugin sebelumnya,

itu muncul di bawah Tersedia Tab.

Setelah Anda berhasil menginstal membangun pipa plugin di Jenkins Anda, ikuti langkah-langkah berikut untuk membuat pipeline Jenkins Anda:

Cara Membuat Pipa Jenkins

Setelah Anda masuk ke dasbor Jenkins Anda:

Langkah 1) Klik pada "+" tombol di sisi kiri dasbor Jenkins Anda untuk membuat saluran.

Buat Pipa Jenkins

Langkah 2)

  1. Anda akan diminta memberi nama pada tampilan pipa. Kami akan menyebutnya “Saluran Pipa Guru99” selama demo ini.
  2. Pilih Bangun tampilan alur bawah Pilihan
  3. Klik ok

Buat Pipa Jenkins

Langkah 3) Di halaman berikutnya, Anda akan diminta memberikan beberapa detail lebih lanjut untuk mengonfigurasi alur kerja Jenkins Anda. Terima saja pengaturan default, dan pastikan Anda memilih pekerjaan pertama di bawah pengaturan.

Klik Mendaftar lalu OK.

Buat Pipa Jenkins

Ini akan menampilkan contoh tampilan saluran item Anda, seperti yang diberikan di bawah ini:

Buat Pipa Jenkins

Menjalankan pembangunan Pipeline

Langkah 1) Untuk menjalankan pembangunan saluran pipa, Anda perlu merangkai pekerjaan Anda terlebih dahulu. Untuk ini, buka pekerjaan pertama Anda dan klik konfigurasikan.

Menjalankan pembangunan Pipeline

Langkah 2) Sekarang, di bawah Bangun Pemicu, Periksalah Bangun setelah proyek lain dibangun .

Menjalankan pembangunan Pipeline

Dengan demikian, rantai untuk semua pekerjaan Anda telah tercipta.

Langkah 3) Instal Bangun tampilan Alur plugin jika Anda belum menginstalnya.

Langkah 4) Buka dasbor Jenkins Anda dan buat tampilan dengan mengklik tombol “+" tombol. Pilih Bangun Tampilan Saluran Pipa pilihan dan klik OK.

Menjalankan pembangunan Pipeline

Langkah 5) Di bawah Konfigurasi tampilan alur, temukan Aliran Pipa.

Bawah Aliran pipa, pilih pekerjaan awal yang akan dijalankan. Sekarang pilih pekerjaan yang memiliki rantai ke pekerjaan lain, seperti yang ditunjukkan pada gambar Langkah 1 dan Langkah 2.

Menjalankan pembangunan Pipeline

Di sini kami telah memilih Proyek Guru99 1 sebagai pekerjaan awal, dirantai ke pekerjaan lain. Jadi, satu per satu, pekerjaan akan berjalan sesuai rencana.

Saat pipeline Jenkins berjalan, Anda dapat memeriksa statusnya dengan bantuan simbol status Merah dan Hijau. Merah berarti saluran pipa gagal, sedangkan hijau menunjukkan keberhasilan.

Dalam contoh pipeline Jenkins ini, kita melihat tombolnya berwarna hijau. Oleh karena itu, saluran pipa tersebut berhasil.

Menjalankan pembangunan Pipeline

Menjalankan pipa Jenkins

Klik Run untuk menjalankan pipa Jenkins. Ini akan terlihat seperti ini:

Menjalankan pipa Jenkins

Dalam contoh skrip alur kerja Jenkins di atas, kami mendemonstrasikan program “helloworld.java” yang sederhana. Namun dalam proyek waktu nyata, Anda akan bertanggung jawab untuk membuat dan membangun alur kerja yang kompleks di Jenkins. Lihat di bawah untuk contoh tampilan alur kerja.

Menjalankan pipa Jenkins

Praktik Terbaik menggunakan Jenkins Pipeline:

  • Gunakan Pipa Jenkins asli
  • Kembangkan saluran Anda sebagai kode
  • Pekerjaan non-penyiapan apa pun di alur Anda harus dilakukan dalam blok tahapan.
  • Setiap pekerjaan material dalam pipa harus dilakukan dalam satu blok node.
  • Jangan gunakan input dalam blok node.
  • Jangan pernah menyetel variabel lingkungan dengan variabel global env
  • Bungkus masukan Anda dalam batas waktu