GNU/Linux >> Belajar Linux >  >> Linux

Cara Install Jenkins Automation Server di AlmaLinux 8

Jenkins adalah server otomatisasi sumber terbuka dan gratis yang ditulis dalam Java. Itu dapat digunakan pada satu server atau sebagai aplikasi terdistribusi. Ini adalah salah satu solusi sumber terbuka paling populer untuk integrasi berkelanjutan dan pengiriman berkelanjutan aplikasi perangkat lunak.

Continuous integration (CI) adalah praktik pengembangan perangkat lunak yang mengharuskan pengembang untuk mengintegrasikan kode mereka ke dalam repositori utama (biasanya setiap hari) sedini dan sesering mungkin untuk mendeteksi kesalahan integrasi, membangun fitur baru, dan memberikan umpan balik untuk semua. tahapan siklus hidup perangkat lunak.

Platform seperti Jenkins adalah kerangka kerja CI yang dapat digunakan secara online atau diinstal secara lokal di komputer Anda. Ini memberi Anda antarmuka yang mudah digunakan untuk berkolaborasi dengan anggota tim Anda di GitHub, Bitbucket, atau repositori lain yang menggunakan Git untuk membuat pipeline integrasi berkelanjutan.

Continuous delivery (CD) adalah praktik pengembangan perangkat lunak yang memungkinkan rilis aplikasi dan layanan perangkat lunak dalam jumlah kecil dan sering. Ini lebih cepat daripada pendekatan tradisional, yang biasanya melibatkan satu rilis besar setiap enam bulan. Pengiriman berkelanjutan dapat mencakup penerapan kode baru setiap hari, setiap jam, atau bahkan beberapa kali dalam satu jam. Interval waktu yang lebih pendek memungkinkan fleksibilitas dalam menanggapi perubahan kebutuhan bisnis atau teknologi yang mendasarinya sekaligus juga menurunkan biaya dan risiko yang terkait dengan periode waktu yang lama antara rilis.

Platform seperti Jenkins adalah kerangka kerja CD yang mengoordinasikan dan mengelola berbagai langkah yang diperlukan untuk menghasilkan sistem CD. Peran Jenkins tidak hanya untuk membangun kode, tetapi juga untuk menguji dan menerapkannya.

Arsitektur berbasis plugin yang memungkinkan perluasan fungsionalitas dasar Jenkins dengan plugin yang ditulis sendiri, mis. untuk manajemen kode sumber atau tugas lainnya. Plugin yang tersedia terdaftar di Pengelola Plugin dalam Jenkins dan dapat diinstal hanya dengan mengkliknya.

Jenkins menyediakan lebih dari 300 plugin untuk mendukung pembuatan, penerapan, dan otomatisasi semua jenis proyek dari awal hingga produksi termasuk Java, Javascript, PHP, Ruby, Android, dan lainnya.

Ia juga memiliki REST API sendiri, sehingga Anda dapat membuat alat kustom Anda sendiri yang terintegrasi dengan Jenkins tanpa perlu mengetahui cara membuat kode atau apa pun tentang internal arsitektur Jenkins.

Anda adalah seorang sysadmin yang mencari solusi yang akan membantu Anda menghemat waktu saat menerapkan aplikasi kecil ke mesin Anda. Setelah melihat beberapa opsi, Anda menemukan Jenkins, yang mengklaim dapat menyelesaikan semua masalah Anda. Anda menyelam, membaca dokumentasi dan menginstal Jenkins. Dokumentasi memandu Anda melalui proses penginstalan, tetapi Anda tidak dapat menginstalnya dengan benar.

Menginstal dan mengonfigurasi komponen perangkat lunak yang diperlukan untuk sistem build yang lengkap dan berfungsi tidak semudah kedengarannya. Itulah mengapa kami membuat tutorial langkah demi langkah tentang cara menginstal dan mengkonfigurasi Jenkins di AlmaLinux 8.

Prasyarat

Untuk menginstal Jenkins di AlmaLinux 8, Anda memerlukan:

  • Mesin AlmaLinux 8 64-bit dengan koneksi Internet yang berfungsi.
  • Akses root ke server Anda. Anda bisa mendapatkannya dengan mengikuti panduan ini.
  • Persyaratan Sistem:menurut situs resmi Jenkins, instalasi dasar Jenkins membutuhkan RAM minimal 2 GB. Jenkin membutuhkan 50 GB ruang disk kosong untuk penginstalan, ditambah 1 GB ruang disk kosong untuk setiap build slave yang ingin Anda tambahkan. Selain itu, Anda akan memerlukan satu inti CPU dan satu GB RAM per build worker bersamaan yang Anda harapkan untuk didukung.

Memperbarui Sistem Anda

Sebelum Anda mulai menginstal dan mengonfigurasi Jenkins, Anda harus memperbarui sistem Anda ke versi terbaru dari paket perangkat lunak yang tersedia.

Untuk itu, ssh ke server Anda dan jalankan perintah berikut. Paket epel-release menyediakan paket yang diperbarui dari repositori pengembangan Extras yang belum menjadi bagian dari rilis RHEL utama. Repo Ekstra berisi paket yang tidak termasuk dalam set paket standar Red Hat tetapi tetap dibuat untuk rilis RHEL. Ini termasuk paket bahasa, dukungan untuk versi ikon adaptif yang lebih baru, dan pembaruan fungsi lainnya.

  • sudo dnf check-update &&sudo dnf update -y
  • sudo dnf install epel-release

Menginstal Java

Java adalah bahasa pemrograman yang berbasis C. Ini dianggap sebagai salah satu bahasa pemrograman paling populer karena telah digunakan di banyak perangkat lunak seperti Android dan Google Chrome. Java adalah bahasa pemrograman lintas platform yang dapat menjalankan aplikasi otonom pada sistem operasi Windows dan Linux, serta MacOS, Solaris, FreeBSD, dan sistem UNIX lainnya.

Jenkins, pada intinya, adalah program Java yang mengharuskan Anda menginstal Java Runtime Environment (JRE) dan Java Development Kit (JDK) pada sistem Anda agar dapat berfungsi dengan baik.

Demo ini akan menginstal OpenJDK 11 pada sistem. OpenJDK adalah implementasi gratis dan open-source dari Platform Java, Edisi Standar (Java SE). Ini adalah lingkungan pengembangan dan runtime untuk membangun aplikasi, layanan mikro, dan sistem server lain yang berjalan di mesin virtual Java (JVM).

OpenJDK didasarkan pada Java Development Kit Oracle versi 8 dengan dukungan Project Jigsaw. Ini berarti Anda dapat menjalankan Jenkins di OpenJDK 11 dengan Project Jigsaw tanpa masalah kompatibilitas.

Jalankan perintah berikut untuk menginstal OpenJDK 11 di sistem Anda.

sudo dnf install java-11-openjdk -y

Setelah penginstalan selesai, Anda dapat menjalankan perintah untuk memeriksa apakah itu berfungsi dengan benar.

java -version

Anda akan melihat output berikut.

Menginstal Jenkins

Setelah Java terinstal, Anda siap menginstal Jenkins.

Repositori dasar AlmaLinux tidak menyertakan paket Jenkins, jadi pertama-tama, Anda perlu menambahkan repositori resmi dari pengembangnya. Ini adalah satu-satunya repositori yang diizinkan untuk mendistribusikan perangkat lunak yang dikemas untuk distribusi tertentu yang didukung. Dalam hal ini, ini adalah repositori pengembang Jenkins sendiri untuk Redhat dan turunannya.

Jalankan perintah berikut untuk mengimpor kunci Jenkins ke sistem. Kunci ini adalah mekanisme keamanan yang digunakan untuk memvalidasi keaslian paket perangkat lunak.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Jalankan perintah berikut untuk menambahkan repositori Jenkins ke sistem.

cd /etc/yum.repos.d/ && curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo

Jalankan perintah sudo dnf makecache untuk menyegarkan cache metadata dari semua repositori yang diaktifkan untuk memastikan bahwa data repositori disk lokal sudah diperbarui. Ini dapat digunakan saat memperbarui/menginstal paket atau jika metadata telah rusak.

sudo dnf makecache

Jalankan perintah berikut untuk memverifikasi apakah repositori Jenkins telah ditambahkan ke sistem Anda. Ini adalah cara untuk memeriksa daftar repositori saat ini, yang menunjukkan kepada manajer paket repositori mana yang telah diaktifkan. Dengan kata lain, ini adalah cara untuk melihat repositori mana yang sedang dilacak oleh dnf.

sudo dnf repolist

Jalankan perintah berikut untuk menginstal Jenkins di sistem Anda.

dnf install -y jenkins

Setelah perintah selesai diinstal, jalankan perintah berikut untuk memulai layanan Jenkins.

sudo systemctl start jenkins

Jalankan perintah berikut untuk memeriksa status layanan Jenkins.

sudo systemctl status jenkins

Jenkins adalah layanan integrasi berkelanjutan yang dapat memantau eksekusi pekerjaan berulang, seperti membangun proyek perangkat lunak atau pekerjaan yang dijalankan oleh cron. Memantau status Jenkins dapat membantu kami mengetahui apakah mereka berjalan seperti yang diharapkan. Pengetahuan ini mungkin berguna dalam memecahkan masalah apa pun dengan tugas yang dijalankannya yang tidak berhasil.

Anda akan melihat output berikut.

Mengonfigurasi Firewall Anda

Jenkins adalah server build otomatis Anda, ini membantu integrasi dan penerapan berkelanjutan untuk proyek Anda. Jenkins memiliki kemampuan untuk mengizinkan koneksi SSH melakukan build dan tugas pada node slave jarak jauh. Namun, Anda perlu mengonfigurasi firewall Anda untuk mengizinkan Jenkins mengakses server ini.

Anda perlu membuka port 22 (SSH) dan secara opsional port 8080 (klien Web) agar Jenkins dapat terhubung ke server jarak jauh tempat aplikasi Anda berada. Port ini biasanya ditutup secara default saat menggunakan mesin virtual berbasis cloud. Jika Anda menyiapkan Jenkins di perangkat keras Anda sendiri, Anda harus mengizinkan port ini melalui firewall atau router Anda.

Jalankan perintah berikut untuk membuka port ini di firewall Anda.

sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp

Jalankan perintah berikut untuk menerapkan perubahan Anda. Perintah sudo firewalld –reload memastikan bahwa aturan dan konfigurasi yang saat ini berlaku akan dimuat ulang jika ada. Ini berguna untuk menerapkan perubahan yang dibuat melalui alat firewall-cmd ke sistem yang sedang berjalan.

sudo firewall-cmd --reload

Terakhir, jalankan perintah berikut untuk memeriksa apakah aturan telah berhasil ditambahkan.

sudo firewall-cmd --list-all

Mengakses UI Web Jenkins

Sekarang setelah server Jenkins Anda aktif dan berjalan tetapi Anda ingin mengaksesnya di browser web. Anda dapat mengakses Jenkins dengan mengunjungi alamat IP-nya di port 8080.

Misalnya, jika IP Anda adalah 192.168.1.100 dan port default adalah 8080, navigasikan alamat berikut untuk membuka Jenkins:192.168.1.100:8080

Saat Anda mencoba mengakses UI web Jenkins, Anda akan mendapatkan Buka Kunci Jenkins layar meminta Anda untuk membuka /var/lib/jenkins/secrets/initialAdminPassword , seperti yang ditunjukkan di bawah ini. Ini adalah data terenkripsi yang berisi kata sandi yang Anda gunakan untuk masuk ke dasbor. Ini menyimpan initialAdminPassword dalam bentuk terenkripsi. Ini memastikan bahwa pengguna jahat yang telah mendapatkan akses ke server Jenkins Anda tidak memiliki kata sandi yang Anda gunakan saat login pertama.

Kembali ke terminal Anda, di mana Anda masih harus masuk sebagai pengguna root. Masukkan perintah berikut untuk mendekripsinya:

cat /var/lib/jenkins/secrets/initialAdminPassword

Anda akan melihat output yang berisi kata sandi ke UI web Jenkins.

Salin dan tempel ini ke editor favorit Anda dan simpan di suatu tempat di mesin Anda. Anda sekarang dapat menggunakan kata sandi ini untuk mengakses antarmuka web Jenkins Anda.

Pada layar berikutnya, pilih instal plugin yang disarankan . Sebuah plugin tidak lebih dari sebuah direktori dengan beberapa file di dalamnya. Saat Anda menginstal plugin, Jenkins mendeteksi direktori dan mengaktifkan fitur yang ditentukan dalam file.

Saat pertama kali menginstal Jenkins, Anda harus memilih opsi untuk menginstal plugin yang disarankan. Opsi ini menginstal semua plugin yang diperlukan untuk pengaturan Jenkins dasar. Jangan khawatir, Anda selalu dapat mengubah atau menambahkan lebih banyak plugin nanti di bagian Plugin pada antarmuka web.

Di Buat Pengguna Admin Pertama layar, berikan nama pengguna, alamat email, nama lengkap, dan kata sandi Anda. Klik Simpan dan lanjutkan untuk pergi ke layar berikutnya.

Pada layar berikutnya, pertahankan default dan klik Mulai menggunakan Jenkins

Anda akan dibawa ke dashboard Jenkins, seperti gambar di bawah ini. Ketika Anda pertama kali menginstal Jenkins, itu mungkin datang dengan halaman kosong sebagai halaman default. Anda dapat melihat ini jika melihat sumber halaman – tidak ada apa-apa di sana.

Namun, seiring waktu, saat Anda mulai menambahkan pekerjaan dan plugin, halaman akan berubah menjadi dasbor yang menampilkan informasi visual tentang proyek Anda.

Kesimpulan

Dalam posting ini, Anda belajar cara menginstal dan mengkonfigurasi server Jenkins. Namun, ini baru permulaan; ini adalah lingkungan pembuatan otomatis yang sangat berharga yang dapat dimanfaatkan dalam praktik harian Anda. Tinggalkan komentar dan saran Anda di bagian bawah jika Anda memiliki umpan balik atau pertanyaan.


Linux
  1. Cara Menginstal Jenkins di CentOS 8

  2. Cara Menginstal Jenkins di Debian 10 (Buster)

  3. Cara Install XAMPP di AlmaLinux 8

  1. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 16.04

  2. Cara Instal Jenkins Automation Server dengan Nginx di CentOS 7

  3. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 18.04

  1. Cara Instal Jenkins Automation Server dengan Apache di Ubuntu 20.04

  2. Cara Instal OpenLiteSpeed ​​di AlmaLinux 8

  3. Cara Menginstal Jenkins di AlmaLinux 8