Pendahuluan
Jenkins adalah server otomatisasi sumber terbuka untuk pengembang perangkat lunak. Ini memungkinkan pengguna membuat dan mengelola elemen berulang yang membuat pengembangan dan penerapan perangkat lunak lebih mudah dan efisien. Salah satu elemen ini adalah perpustakaan bersama Jenkins.
Dalam tutorial ini, kita akan mendefinisikan apa itu shared library Jenkins dan menjelaskan bagaimana Anda dapat membuat, mengelola, dan menggunakannya dalam pengembangan perangkat lunak.
Prasyarat
- Salinan Jenkins yang terinstal dan siap digunakan (pelajari cara Menginstal Jenkins di Windows 10, Ubuntu 18.04, Debian 10, CentOS 8, atau menginstal Jenkins di cluster Kubernetes)
- Akses ke browser web
Apa itu Pustaka Bersama di Jenkins?
Pustaka bersama di Jenkins adalah kumpulan skrip Groovy yang dibagikan di antara berbagai pekerjaan Jenkins. Untuk menjalankan skrip, skrip ditarik ke dalam file Jenkins.
Setiap perpustakaan bersama mengharuskan pengguna untuk menentukan nama dan metode untuk mengambil kode sumber. Metode ini termasuk file lokal, repositori Git, dan plugin Jenkins SCM. Secara opsional, pengguna juga dapat menyetel versi pustaka default.
Mengapa Menggunakan Pustaka Bersama Jenkins?
Pengembang menggunakan pustaka bersama untuk menghindari penulisan kode yang sama dari awal untuk beberapa proyek. Pustaka bersama berbagi kode di seluruh proyek pengembangan, sehingga mengoptimalkan siklus hidup pengembangan perangkat lunak. Ini secara drastis mengurangi waktu yang dihabiskan untuk pengkodean dan membantu menghindari kode duplikat.
Membuat perpustakaan bersama juga menyederhanakan proses mendorong pembaruan kode sumber untuk sebuah proyek. Memperbarui kode sumber perpustakaan juga memperbarui kode setiap proyek yang menggunakan perpustakaan.
Bagaimana Cara Membuat Pustaka Bersama di Jenkins?
Membuat perpustakaan bersama di Jenkins melibatkan langkah-langkah berikut.
Langkah 1:Buat Skrip Groovy
Pertama, buat skrip Groovy menggunakan kode yang ingin Anda simpan ke perpustakaan.
Misalnya, skrip Groovy berikut membuat fungsi salam yang mencetak Hello
dan name
yang ditentukan pengguna parameter sebagai output:
#!/usr/bin/env groovy
def call(String name = 'human') {
echo "Hello, ${name}."
}
Langkah 2:Tambahkan Skrip ke Repositori Git
Buat repositori Git baru yang berisi direktori bernama vars . Simpan skrip di vars direktori sebagai sayHello.groovy .
Langkah 3:Tambahkan Pustaka Bersama di Jenkins
2. Klik tombol Kelola Jenkins tautan di sisi kiri dasbor Jenkins.
3. Di bawah Konfigurasi Sistem , klik Konfigurasikan Sistem tombol.
4. Gulir ke bawah ke Global Pipeline Library bagian dan klik Tambahkan tombol.
5. Dialog baru akan terbuka dan meminta Anda untuk menyiapkan detail pustaka, seperti nama dan metode SCM. Isi detail untuk mengonfigurasi perpustakaan:
- Nama: Nama Pustaka Bersama yang baru.
- Versi default: Setel versi default untuk Pustaka Bersama yang baru. Bergantung pada SCM, ini bisa berupa nama cabang, tag, hash komit, dll.
- Muat secara implisit: Mencentang opsi ini memungkinkan skrip mengakses perpustakaan secara otomatis tanpa perlu memintanya.
- Izinkan versi default diganti: Mencentang opsi ini memungkinkan skrip untuk memilih versi kustom perpustakaan.
- Sertakan perubahan @Library dalam perubahan terbaru pekerjaan: Mencentang opsi ini akan menyebabkan perubahan pada pustaka memengaruhi semua versi yang menggunakan pustaka.
- Versi yang diambil dalam cache pada master untuk pengambilan cepat: Mencentang opsi ini membuat cache Jenkins mengambil versi perpustakaan ini di master.
- Metode pengambilan: Pilih SCM Modern (saat menggunakan plugin Jenkins SCM) atau SCM Legacy (saat menggunakan metode SCM yang tidak terintegrasi dengan Jenkins) dari menu tarik-turun. Memilih SCM Modern memungkinkan Anda memilih plugin SCM dan mengonfigurasi opsi yang relevan.
- Jalur Perpustakaan (opsional): Memungkinkan Anda menyetel jalur relatif dari akar SCM ke akar direktori pustaka.
6. Setelah Anda selesai mengonfigurasi perpustakaan baru, klik tombol Simpan untuk menyimpan perubahan ke Jenkins.
Langkah 4:Gunakan Pustaka Bersama di Jenkins Pipeline
Setelah Anda menambahkan pustaka bersama dari repositori Git ke Jenkins, Anda dapat merujuknya ke skrip saluran Anda.
1. Buat item pipa baru di Jenkins. Ketik nama item dan pilih Pipeline sebagai jenis proyek. Klik OK setelah selesai.
2. Tambahkan skrip sederhana yang memuat pustaka bersama. Kami menggunakan Alex sebagai name
parameter:
@Library('pipeline-library-demo')_
stage('Demo') {
echo 'Hello world'
sayHello 'Alex'
}
3. Klik Simpan untuk menyimpan perubahan ke pipeline.
4. Membangun alur dan memeriksa keluaran konsol mengungkapkan bahwa pustaka bersama memuat dan berinteraksi dengan benar dengan masukan pengguna:
Cara Memuat Pustaka Bersama di Pipeline
Jika pustaka bersama tidak dimuat secara implisit, Jenkins menawarkan beberapa cara untuk merujuknya menggunakan skrip Groovy.
Tambahkan anotasi berikut ke bagian atas kode Jenkins untuk merujuk ke skrip secara manual:
@Library('[library name]')_
Tambahkan tanda at (@
) dan nama versi untuk memuat versi perpustakaan tertentu:
@Library('[library name]@[library version]')_
Jika Anda ingin memuat beberapa pustaka sekaligus, pisahkan nama dengan simbol koma (,
) dan spasi kosong:
@Library(['[library name 1]', '[library name 2]'])_
Opsi lainnya adalah memuat pustaka bersama secara dinamis. Anda dapat menempatkan jenis anotasi ini di mana saja dalam skrip:
library '[library name]'
Dimungkinkan juga untuk memuat perpustakaan pihak ketiga secara dinamis yang tidak termasuk dalam Global Pipeline Library Jenkins pengaturan. Misalnya, memuat perpustakaan dari Git mengharuskan Anda memberikan nama perpustakaan, tag kelas Jenkins, URL Git perpustakaan, dan kredensial yang valid untuk mengakses perpustakaan.
library identifier: '[library name]@[library version]', retriever: modernSCM(
[$class: 'GitSCMSource',
remote: '[library Git URL]',
credentialsId: '[Git credentials]'])
Metode lain adalah menautkan langsung ke repositori Git yang berisi perpustakaan. Saat mengonfigurasi pipeline, gulir ke bawah ke Pipeline bagian dan pilih Skrip saluran pipa dari SCM pilihan dari Definisi menu tarik-turun.
Setelah Anda memilih Git opsi dari SCM menu tarik-turun, tambahkan URL repositori, kredensial, dan ID cabang dan klik Simpan untuk mengonfirmasi.