Pustaka Bersama Jenkins: Pandangan Lebih Dekat [2022]
Diterbitkan: 2021-01-02Kita hidup di era layanan mikro di mana aplikasi kontemporer dibongkar menjadi komponen yang dapat digunakan secara individual . Kami dapat berargumen bahwa Jenkins telah menempatkan dirinya di antara alat CI / CD asli terkemuka untuk menyebarkan layanan mikro. Dibandingkan dengan aplikasi monolitik, ada banyak jalur untuk menerapkan layanan mikro individu.
Anda dapat menggunakan selang sebagai kode untuk mengkodekan seluruh proses CI / CD. Perlakukan seperti dalam pengembangan aplikasi. Anda dapat memublikasikan kode pipeline dan menjalankan semua level pengujian sebelum menggunakannya untuk menerapkan aplikasi Anda.
Daftar isi
Apa itu Pustaka Bersama Jenkins?
Ketika kita mengatakan CI / CD sebagai simbol, kita membutuhkan modularitas dan penggunaan kembali. Anda harus mengikuti prinsip KERING. Di situlah Library of Jenkins ' terbukti bermanfaat.
Pustaka Bersama Jenkins adalah ide untuk memasukkan kode pipa standar untuk sistem kontrol versi dan dapat digunakan pada sejumlah pipa hanya dengan merujuknya. Beberapa tim dapat menggunakan direktori yang sama untuk pipeline mereka.
Anda dapat membandingkannya dengan direktori pemrograman populer. Pemrograman membuat panduan terpisah yang dapat digunakan siapa saja saat mengimpor kode.
Misalnya, jika Anda memiliki sepuluh pipa untuk layanan mikro dari Java, prosedur pembuatan yang lama akan diulang untuk kesepuluh pipa tersebut. Selain itu, kode pipa disalin dan ditempel dengan penambahan layanan baru. Jika Anda ingin mengubah beberapa parameter dalam fase konstruksi lama, Anda perlu menyesuaikannya secara manual di semua pipa.

Dalam skenario yang sama, Anda akan membuat perpustakaan bersama untuk bangunan lama. Untuk semua pipa, yang harus Anda lakukan adalah merujuk ke perpustakaan kode bangunan lama. Jika ada perubahan lama di masa mendatang, Anda hanya perlu memperbarui ikon perpustakaan bersama.
Baca: Ide & Topik Proyek Jenkins yang Menarik
Mulai gunakan perpustakaan bersama
Direktori bersama adalah kumpulan file keren (DSL + Groovy). Semua file keren harus ada di repositori git. Contoh ini menggunakan Github sebagai repositori git. https://github.com/devopscube/jenkins-shared-library. Anda dapat menduplikasi repositori ini untuk mendapatkan infrastruktur perpustakaan bersama.
Basis data perpustakaan bersama berisi struktur volume berikut:
Perpustakaan Bersama Jenkins
| ____ vars
| ____ src
| ____ sumber daya
Vars
Ini berisi semua kode WCL yang dapat Anda panggil dari pipa. Ini berisi semua file direktori dengan ekstensi .groovy. File .txt juga didukung untuk mendokumentasikan kode perpustakaan yang dibagikan. Misalnya, jika Anda memiliki file dengan nama maven-build. Groovy, maka Anda akan mendapatkan file bantuan dengan nama maven-groovy.txt. Anda dapat menulis dokumentasi bantuan untuk menandai properti direktori bersama dalam file ini. File bantuan dapat dilihat dari halaman <your-jenkins-url> / Pipeline Syntax / Global.
Src
Ini adalah direktori sumber Java standar. Setelah semua teks telah dikompilasi, itu akan ditambahkan ke classpath. Di sini Anda dapat menambahkan kode yang sangat keren untuk memperluas kode perpustakaan bersama. Anda juga dapat menggunakan Manifes Impor untuk mengimpor kategori dan ekstensi Jenkins yang ada.
Ada skenario di mana perangkat keras DSL yang keren tidak cukup fleksibel untuk melakukan fungsi tertentu. Dalam hal ini, Anda dapat menulis fungsi alur khusus di src dan membacanya di kode pustaka bersama.
Sumber daya
Anda dapat mengatur semua file yang tidak perlu yang diperlukan untuk selang di folder ini. Sebagai contoh, Anda mungkin memerlukan template JSON umum untuk membuat panggilan API selama konstruksi. Anda dapat menyimpan template JSON ini dalam folder sumber daya dan memanggilnya di perpustakaan bersama melalui fungsi LibraryResource.

Wajib Dibaca: Gaji Jenkins di India
Perpustakaan Global Bersama
Ada beberapa tempat di mana Anda dapat mengatur direktori bersama, tergantung pada kasus penggunaan Anda. Manajemen Jenkins » Konfigurasi Sistem» Perpustakaan Pipa Global. Anda dapat mengonfigurasi sejumlah direktori sesuai kebutuhan.
Pustaka ini tersedia secara universal sehingga setiap saluran di sistem Anda dapat menggunakan fungsi yang diterapkan di pustaka ini.
Perpustakaan ini dianggap "dapat diandalkan." Anda dapat melakukan metode apa pun di Java, Groovy, API internal Jenkins, ekstensi Jenkins, atau direktori pihak ketiga. Ini memungkinkan Anda untuk mengidentifikasi secara tepat perpustakaan yang melipat API tidak aman ke dalam amplop tingkat tinggi yang dapat digunakan dengan aman dari saluran mana pun.
Harap dicatat bahwa siapa pun yang dapat membayar komisi ke database SCM ini memiliki akses tak terbatas ke Jenkins. Anda memerlukan izin Total / RunScripts untuk membuat direktori ini (izin ini biasanya diberikan kepada administrator Jenkins).
Mendaftar di Kursus Rekayasa Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Pustaka bersama tingkat folder
Semua folder yang dibuat dapat ditautkan ke direktori bersama. Mekanisme ini memungkinkan Anda untuk mengatur rentang direktori tertentu untuk semua pipa dalam volume atau subfolder.
Direktori berbasis folder tidak dianggap "tepercaya." Ini beroperasi di kotak pasir alur, seperti pipa biasa.
Pustaka bersama otomatis
Plugin lain dapat menambahkan cara untuk mengidentifikasi perpustakaan saat bepergian. Misalnya, "Folder Organisasi GitHub" adalah plugin sumber yang disediakan di Sumber Cabang GitHub. Ini menyediakan komponen yang memungkinkan skrip untuk menggunakan pustaka yang tidak tepercaya seperti github.com/orgname/reponame dikurangi konfigurasi tambahan apa pun. Dalam hal ini, repositori GitHub yang ditentukan akan dimuat dari cabang utama menggunakan pengaturan anonim.
Untuk memeriksa perubahan di perpustakaan
Jika Anda melihat bug dalam build dengan direktori yang tidak tepercaya, klik tautan replay dan edit satu atau beberapa file sumber untuk melihat apakah versi yang dihasilkan berfungsi seperti yang diharapkan. Ketika Anda puas dengan hasilnya, klik tautan diff pada halaman Status Rilis dan terapkan perbedaannya ke perpustakaan Anda dan kumpulan komit Anda.

(Bahkan jika versi perpustakaan yang diminta adalah cabang dan bukan versi statis seperti bookmark, versi yang diaktifkan kembali akan menggunakan versi yang sama dengan versi aslinya. Anda tidak dapat menarik kembali sumber daya perpustakaan.)
Saat ini, itu tidak memberi Anda Pustaka Terpercaya Replay. Mengubah file sumber daya selama Putar Ulang saat ini tidak didukung.
Baca Juga: Pertanyaan & Jawaban Wawancara Jenkins
Kesimpulan
Berikut adalah beberapa hal penting untuk diingat:
- Anda harus menggunakan Groovy untuk menulis langkah atau fungsi khusus.
- Ada kebutuhan untuk menulis langkah-langkah pipa yang dapat Anda panggil dari pipa.
- Anda perlu membuat file di direktori vars dari repositori yang akan berisi nama langkah kustom Anda.
- Metode panggilan def harus diterapkan oleh parameter ke langkah Anda.
- Jika ada kebutuhan untuk menulis kode Groovy umum, Anda dapat menambahkannya ke dalam src.
- Anda juga dapat mengintegrasikan perpustakaan bersama di Jenkins melalui penggunaan layar sistem konfigurasi.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan tumpukan penuh, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak Tumpukan Penuh yang dirancang untuk para profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek, dan tugas , Status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.
