Jenkins adalah sistem build berkelanjutan sumber terbuka. Ini adalah aplikasi berbasis server yang ditulis dalam Java, dan biasanya berjalan sebagai layanan latar belakang pada mesin Windows atau Unix. Kami menggunakan Jenkins untuk secara otomatis memantau repositori untuk perubahan kode sumber kami. Segera setelah seseorang mendorong perubahannya ke repositori kode sumber pusat, Jenkins menganalisis file sumber baru untuk perubahan. Jika ditemukan bahwa file sumber telah berubah sejak kompilasi terakhir kami, Jenkins memulai pembangunan baru di Server Integrasi Berkelanjutan kami.
Jenkins sangat membantu kami dengan dua tugas penting:
- Ini memastikan bahwa semua pengembang bekerja dengan versi terbaru dari sumber proyek
- Ini mengingatkan semua orang jika terjadi kesalahan selama build atau penerapan.
Jenkins mendukung banyak Alat DevOps Manajemen Kode (SCM) yang berbeda seperti BitBucket, Git, CVS, Mercurial, Perforce, dll. Dengan menggunakan Jenkins untuk polling perubahan dalam repositori kode sumber kami, kami dapat memastikan bahwa semua pengembang memiliki salinan terbaru dari sumber proyek dan mereka bekerja dengan perubahan baru yang segar ini.
Misalnya, Pengembang A memeriksa versi baru dari sistem kontrol sumber utama proyek, dan setelah dia membuat beberapa perubahan pada beberapa file, dia mungkin mendorong komitmen lokalnya sehingga pengembang lain dapat menggunakannya. Pengembang B mungkin telah mengedit file yang sama sekitar waktu ini, dan kemudian dia juga mendorong perubahannya ke dalam repo kode pusat. Tiba-tiba setiap kali pengembang A mencoba memeriksa salinan proyek lokalnya, dia akan diberi tahu bahwa ada perubahan baru yang tersedia di repositori kode pusat. Ini menyelamatkan kita dari menarik perubahan setengah matang atau kedaluwarsa dari pengembang lain dan kehilangan hasil edit kita sendiri sesekali.
Dalam panduan ini, kami memandu Anda melalui proses menginstal dan mengonfigurasi server Jenkins di mesin Rocky Linux 8. Panduan ini juga berlaku untuk Red Hat Linux dan SUSE Linux OS lainnya.
Prasyarat
- Server dengan instalasi baru Rocky Linux 8, dengan minimal 1GB RAM. 10 GB ruang kosong untuk setiap wadah buruh pelabuhan yang akan dibuat Jenkins.
- Pengguna non-root dengan hak istimewa sudo.
- Panduan ini mengasumsikan bahwa server Anda dapat mengakses internet, baik melalui koneksi langsung atau melalui router/proxy upstream.
Langkah 1:Memperbarui Sistem
Hal pertama yang perlu kita lakukan adalah memperbarui sistem kita. Sangat penting untuk memiliki catatan yang bersih dengan memperbarui semua paket yang ada di mesin kami.
sudo dnf update
atau
sudo yum update
Mem-boot ulang sistem disarankan jika Anda telah memutakhirkan paket sistem penting, seperti Kernel, untuk memastikan bahwa perubahan diterapkan dengan benar.
sudo reboot now
Masuk kembali menggunakan pengguna non-root yang sama dan lanjutkan ke langkah berikutnya.
Langkah 2:Menginstal Java
Jenkins membutuhkan Java Development Kit (JDK) untuk dijalankan, jadi kita perlu menginstalnya. JDK adalah paket di sebagian besar distribusi Linux yang berisi Java Runtime Environment (JRE) dan alat lain untuk menjalankan/mengembangkan aplikasi dan pustaka yang ditulis dalam bahasa pemrograman Java.
Baik JDK 11 dan JDK 8 tersedia di repo resmi Rocky Linux 8. Anda dapat memeriksa versi JDK mana yang tersedia di sistem Anda dengan mengetikkan perintah di bawah ini.
sudo dnf search java-*-openjdk
Anda akan melihat output seperti di bawah ini.
Jenkins dapat berjalan di JDK 11 dan JDK 8, tetapi beberapa plugin Jenkins lama mungkin tidak kompatibel dengan JDK 11. Direkomendasikan untuk menggunakan JDK 8. Pada langkah ini, kita menginstal JDK 8 menggunakan perintah berikut.
sudo dnf install java-1.8.0-openjdk -y
Setelah java diinstal, Anda dapat memverifikasi bahwa perangkat lunak telah diinstal dengan benar dengan memeriksa versinya.
java -version
Anda akan melihat output seperti di bawah ini.
Langkah 3:Menambahkan Repositori Jenkins
Paket Jenkins tidak termasuk dalam repo resmi Rocky Linux 8. Anda harus menambahkan repositori Jenkins agar sistem dapat mengunduh dan menginstal paket darinya. Kami akan menggunakan repositori Jenkins resmi yang disediakan oleh tim Jenkins.
sudo dnf install wget -y
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Sekarang, tambahkan kunci GPG untuk repositori menggunakan perintah rpm.
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Mari kita periksa apakah repositori berhasil ditambahkan atau tidak dengan menggunakan perintah berikut.
sudo dnf repolist
Jika semuanya berjalan dengan benar, Anda akan melihat output seperti di bawah ini.
Langkah 4:Memasang Server Jenkins
Sebelum Anda dapat menginstal server Jenkins, perbarui repositori menggunakan perintah berikut:
sudo dnf update -y
Sekarang, Anda dapat menginstal server Jenkins dengan mengetikkan perintah berikut.
sudo dnf install jenkins -y
Jika tidak ada kesalahan atau pesan khusus di layar setelah Anda mengetik perintah di atas, itu berarti instalasi Jenkins berhasil. Untuk memeriksa apakah semuanya berhasil diinstal, jalankan perintah berikut:
sudo systemctl status jenkins
Output dari perintah ini seharusnya seperti ini.
Jika layanan jenkins tidak berjalan, Anda dapat memulainya dengan mengetikkan perintah berikut.
sudo systemctl start jenkins
Untuk mengaktifkan layanan jenkins untuk memulai secara otomatis setiap kali Anda me-reboot sistem Anda, ketik:
sudo systemctl enable jenkins
Langkah 5:Mengonfigurasi Firewall
Jika Anda menginstal Jenkins di server di belakang firewall, Anda perlu membuka beberapa port baik di firewall maupun di mesin host agar Jenkins dapat diakses.
Jenkins menggunakan port 8080 secara default untuk akses jarak jauh, jadi Anda mungkin ingin membuka port ini untuk mengizinkan koneksi eksternal.
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
Muat ulang firewall Anda untuk menerapkan perubahan yang Anda buat.
sudo firewall-cmd --reload
Jika berhasil, port 8080 akan terbuka di zona eksternal firewall Anda. Anda dapat memverifikasi dengan menjalankan perintah di bawah ini.
sudo firewall-cmd --list-all
Anda harus mendapatkan output seperti ini.
Langkah 6:Menyiapkan Server Jenkins
Buka browser web dan ketik alamat IP server dengan port 8080 untuk mengakses Jenkins.
http://server_IP_address:8080
Di mana:server_IP_address adalah alamat IP sebenarnya dari server Anda. Misalnya, untuk mengakses server Jenkins di 192.168.1.5, ketikkan http://192.168.1.5:8080.
Halaman Memulai untuk Jenkins akan muncul, dengan tip tentang cara mengambil kata sandi admin awal.
Ini adalah kata sandi sementara yang dibuat secara otomatis (tetapi tidak ditampilkan) oleh server Jenkins selama instalasi.
Kembali ke terminal Anda dan jalankan perintah berikut untuk mengambil kata sandi.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Ini akan mencetak kata sandi admin di terminal Anda.
Salin dan tempel kata sandi ini ke bidang kata sandi admin awal di halaman Memulai Jenkins. Klik Lanjutkan di kanan bawah.
Anda akan dibawa ke halaman plugin. Pilih Pasang plugin yang disarankan , dan klik Pasang di bagian bawah halaman.
Tindakan ini akan menginstal sekumpulan plugin standar yang diperlukan agar Jenkins berfungsi dengan baik.
Setelah penginstalan selesai, Anda akan dibawa ke Buat Pengguna Admin Pertama halaman. Ketik nama pengguna dan kata sandi untuk pengguna admin pertama. Dan klik Simpan dan lanjutkan .
Anda akan diberikan Konfigurasi Instance halaman, di mana Anda perlu menentukan URL root untuk server Jenkins Anda. Pertahankan default dan klik Simpan dan selesaikan .
Terakhir, klik Mulai gunakan Jenkins di halaman terakhir.
Anda akan dibawa ke dasbor Jenkins, tempat Anda akan mulai membangun proyek pertama Anda.
Instalasi dan konfigurasi Jenkins telah selesai.
Kesimpulan
Dalam tutorial ini, Anda mempelajari cara menginstal Jenkins di sistem Rocky Linux 8. Anda sekarang dapat menikmati manfaat integrasi berkelanjutan dan pengiriman berkelanjutan dalam proses pengembangan proyek Anda. Selamat membuat kode!
Untuk informasi lebih lanjut tentang Jenkins, silakan lihat dokumentasi resmi Jenkins.
Jika Anda memiliki pertanyaan atau saran, jangan ragu untuk meninggalkan komentar di bawah.