GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Jenkins Master dan Slave di Ubuntu 18.04 LTS

Jenkins adalah server otomatisasi bercabang dari proyek Hudson, ia memiliki dukungan untuk banyak sistem perangkat lunak SCM (Source Control Management) termasuk Git, SVN, dan Mercurial. Jenkins menyediakan ratusan plugin untuk mengotomatisasi proyek Anda. Jenkins menawarkan dukungan untuk arsitektur 'master/slave', yang memungkinkannya untuk menghosting sejumlah besar pembangunan proyek.

Bagaimana 'master/slave' Jenkins bekerja?

Arsitektur master/slave Jenkins digunakan untuk lingkungan build terdistribusi, di mana beban kerja proyek pembangunan didistribusikan ke beberapa node agen, dan kita dapat menggunakan lingkungan yang berbeda untuk setiap build.

Dalam arsitektur 'master/slave' Jenkins, master merepresentasikan dirinya sebagai instalasi Jenkins dasar, dan menangani semua tugas untuk membangun sistem. Node master Jenkins akan digunakan untuk menjadwalkan tugas, memantau node slave, mengirimkan build ke node slave, merekam dan merepresentasikan hasil build, dan juga menjalankan tugas build secara langsung.

Node slave Jenkins disiapkan untuk proyek pembangunan offload dari master, dan diperlukan koneksi yang terjalin antara master dan slave. Node budak Jenkins dapat berjalan di berbagai sistem operasi seperti Windows dan Linux, dan tidak perlu menginstal paket Jenkins lengkap di dalamnya.

Dalam tutorial ini, kita akan belajar cara mengatur arsitektur master-slave Jenkins menggunakan Ubuntu versi terbaru Ubuntu 18.04 LTS. Kita akan belajar mengatur server master Jenkins, dan kemudian menambahkan node Ubuntu lainnya sebagai budak Jenkins.

Prasyarat

  • Ubuntu 18.04
    • master - 10.0.15.10
    • slave01 - 10.0.15.21
    • slave02 - 10.0.15.22
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Jenkins Master
  2. Mengonfigurasi Kredensial Master Jenkins
  3. Konfigurasi Node Agen Budak
  4. Tambahkan Node Budak Baru
  5. Mempersiapkan Node Agen Budak untuk Menjalankan Build
  6. Pengujian

Langkah 1 - Instal Jenkins Master

Dalam tutorial ini, kita tidak akan membahas instalasi Jenkins dasar. Ada sejumlah artikel di HowtoForge yang membahas penginstalan Jenkins.

  • Instal Jenkins di Ubuntu 16.04
  • Instal Jenkins di Ubuntu 18.04
  • Instal Jenkins di CentOS 7

Berikut ini adalah server master Ubuntu 18.04 kami dengan Jenkins terinstal di dalamnya.

Langkah 2 - Konfigurasikan Kredensial Master Jenkins

Ketika Anda menginstal server master Jenkins, kita perlu mengkonfigurasi server master itu sendiri. Secara default, ada berbagai cara untuk memulai node agen Jenkins, kami dapat meluncurkan node agen melalui SSH, akun administratif windows, dan melalui Java Web Start (JNLP), pilih cara terbaik tergantung pada pengaturan lingkungan dan sistem operasi Anda.

Untuk panduan ini, kami akan meluncurkan node agen melalui ssh, dan kami perlu menyiapkan kredensial Jenkins di server master kami.

Buat Kunci SSH

Kami akan menggunakan otentikasi kunci ssh untuk menyiapkan node agen kami, jadi kami perlu membuat kunci ssh untuk pengguna Jenkins dan kemudian mengunggah kunci ke setiap node server secara manual menggunakan 'ssh-copy-id'.

Di server master Jenkins, login ke pengguna Jenkins dan buat kunci ssh.

su - jenkins
ssh-keygen

Dan Anda akan mendapatkan 'id_rsa' private dan 'id_rsa.pub' public key di direktori '.ssh'.

Menyiapkan Kredensial di Jenkins

Buka dasbor Jenkins Anda dan klik menu 'Kredensial' di sebelah kiri.

Dan klik tautan domain 'global'.

Sekarang klik 'Tambahkan Kredensial'.

Sekarang pilih metode otentikasi.

  • Jenis:Nama Pengguna SSH dengan kunci pribadi
  • Cakupan:Global
  • Nama pengguna:jenkins
  • Kunci pribadi:Masuk langsung dan tempel kunci pribadi 'id_rsa' pengguna Jenkins dari server master.

Klik 'Oke'.

Dan kredensial Jenkins dengan metode ssh auth key telah dibuat.

Langkah 3 - Siapkan Node Slave

Sekarang kita akan mengatur server node budak dengan menginstal java di server tersebut, dan membuat pengguna Jenkins baru.

Instal Java

Instal paket 'software-properties-common' dan tambahkan repositori Java PPA.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

Sekarang instal Java OpenJDK menggunakan perintah apt di bawah ini.

sudo apt install openjdk-8-jdk -y

Setelah instalasi selesai, periksa versi java yang diinstal.

java -version

Dan Anda akan menginstal Java OpenJDK 1.8 di sistem.

Tambahkan Pengguna Jenkins Baru

Sekarang tambahkan pengguna 'Jenkins' ke semua node agen.

Jalankan perintah di bawah ini.

useradd -m -s /bin/bash jenkins
passwd Jenkins

Pengguna 'Jenkins' untuk node agen telah dibuat.

Salin Kunci SSH dari Master ke Slave

Selanjutnya, kita perlu mengunggah kunci 'id_rsa.pub' dari node master ke server slave. Kita perlu mengunggah ke setiap node server menggunakan perintah 'ssh-copy-id' seperti di bawah ini.

ssh-copy-id [email protected]
ssh-copy-id [email protected]

Ketikkan kata sandi pengguna Jenkins.

Kunci ssh 'id_rsa.pub' telah diunggah ke semua node agen.

Langkah 4 - Tambahkan Node Budak Baru

Pada dasbor Jenkins, klik menu 'Kelola Jenkins', dan klik 'Kelola Node'.

Klik 'Node Baru'.

Ketik nama node 'slave01', pilih 'agen permanen', dan klik 'OK'.

Sekarang ketik detail informasi simpul.

  • Deskripsi:server agen node slave01
  • Direktori root jarak jauh:/home/jenkins
  • Label:slave01
  • Metode peluncuran:Luncurkan agen budak melalui SSH, ketik alamat ip host '10.0.15.21', pilih autentikasi menggunakan kredensial 'Jenkins'.

Sekarang klik tombol 'Simpan' dan tunggu server master terhubung ke semua node agen dan meluncurkan layanan agen.

Di bawah ini adalah hasil saat server master terhubung ke semua node agen.

Node budak Jenkins telah ditambahkan ke server master.

Langkah 5 - Siapkan Node Agen Budak untuk Menjalankan Build

Pada langkah ini, kita akan mengonfigurasi master Jenkins untuk menjalankan build pada node agen budak.

Klik menu 'Kelola Jenkins' lalu klik 'Konfigurasi Sistem'.

Sekarang buka bagian 'Pengaturan Slave' dan tentukan semua yang Anda butuhkan seperti yang ditunjukkan di bawah ini.

Info lebih lanjut tentang 'Pengaturan Budak' di tautan.

Klik tombol 'Simpan' dan sekarang kita siap untuk menjalankan build pada node agen budak.

Langkah 6 - Pengujian

Sekarang kita ingin membuat build sederhana baru untuk Jenkins, dan kita ingin menjalankan build pada node agen bot 'slave01' dan 'slave02'.

Di dasbor Jenkins, klik menu 'Item Baru'.

Ketik nama item, pilih proyek gaya bebas, dan klik 'OK'.

Di bagian umum, ketik deskripsi pekerjaan dan centang opsi 'Batasi tempat proyek ini dapat dijalankan'.

Pada 'Label Expression', tentukan node seperti 'slave01'.

Pindah ke bagian build dan pilih opsi 'Execute shell', ketik perintah seperti di bawah ini.

top -b -n 1 | head -n 10 && hostname

Klik tombol 'Simpan', dan Anda akan diarahkan ke halaman pekerjaan.

Klik 'Build Now' untuk membangun proyek, lalu klik item di bagian 'Build History'.

Dan berikut adalah hasil saya.

Bangun di simpul agen 'slave01'.

Bangun di simpul agen 'slave02'.

Instalasi dan konfigurasi arsitektur master/slave Jenkins dan build terdistribusi Jenkins telah berhasil diselesaikan.

Referensi

  • https://wiki.jenkins.io/

Ubuntu
  1. Cara Meningkatkan ke Ubuntu 22.04 LTS dari Ubuntu 20.04 LTS dan 21.10

  2. Cara Menginstal Libreoffice 4.3 di Ubuntu 12.04 dan 14.04 LTS

  3. Cara Menginstal Libreoffice 4.4 di Ubuntu 15.04 dan 14.04 LTS

  1. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  2. Cara Mengatur Server Rsyslog di Ubuntu 18.04 LTS

  3. Cara Mengatur Elasticsearch di Ubuntu 18.04 &16.04 LTS

  1. Cara Mengatur Server dan Klien Kerberos di Ubuntu 18.04 LTS

  2. Cara Menginstal Zabbix 2.2 di Ubuntu 14.04 LTS

  3. Cara menginstal PHP 5.6, PHP 8.0 dan PHP 8.1 di Ubuntu 20.04 LTS