Jenkins adalah server integrasi berkelanjutan sumber terbuka dan gratis. Itu ditulis dalam JAWA. Ini dapat digunakan untuk mengotomatisasi berbagai tugas yang terkait dengan pengembangan perangkat lunak seperti membangun pengujian dan penerapan. Ini memiliki dukungan untuk banyak sistem kontrol versi seperti git, SVN, mercurial dll.
Dalam tutorial ini, kita akan menginstal Jenkins Automation Server di server CentOS 7. Kami juga akan menyiapkan Nginx sebagai proxy terbalik untuk Jenkins.
Prasyarat
- Minimal CentOS 7 server
- Hak istimewa root. Panduan ini ditulis sebagai pengguna root, jika Anda login sebagai pengguna sudo, jalankan sudo -i.
Perbarui Sistem Basis
Sebelum menginstal paket apa pun, Anda disarankan untuk memperbarui paket dan repositori menggunakan perintah berikut.
yum -y update
Setelah sistem Anda diperbarui, lanjutkan lebih jauh untuk menginstal JAVA.
Instal JAVA 8
Jenkins mendukung OpenJDK dan Oracle JAVA, dalam tutorial ini kita akan menginstal OpenJDK versi terbaru ke dalam server. Jalankan perintah berikut untuk menginstal OpenJDK di server Anda.
yum install java-1.8.0-openjdk
Anda sekarang dapat memeriksa versi Java menggunakan perintah berikut.
java -version
Anda akan mendapatkan output berikut.
[[email protected] ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Anda juga perlu memeriksa apakah variabel lingkungan Java_HOME disetel. Jalankan perintah berikut untuk hal yang sama.
echo $JAVA_HOME
Jika Anda mendapatkan keluaran nol atau kosong, Anda perlu mengatur variabel Java_HOME secara manual. Edit file .bash_profile menggunakan editor favorit Anda. Dalam tutorial ini, kita akan menggunakan editor nano. Jalankan perintah berikut untuk mengedit .bash_profile menggunakan nano.
nano ~/.bash_profile
Sekarang tambahkan baris berikut di akhir file.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/ export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
Sekarang sumber file menggunakan perintah berikut.
source ~/.bash_profile
Sekarang Anda dapat menjalankan kembali perintah echo $JAVA_HOME untuk memeriksa apakah variabel lingkungan telah disetel atau tidak.
[[email protected] ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
Sekarang setelah Anda menginstal JAVA, Anda dapat melanjutkan lebih jauh untuk menginstal Jenkins.
Instal Jenkins
Jenkins dapat diinstal secara langsung dengan menambahkan repositori dan mengimpor kunci GPG. Tambahkan repositori Jenkins ke sistem Anda dengan menjalankan perintah berikut.
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Jika Anda belum menginstal wget, Anda dapat menjalankan yum -y install wget.
Impor kunci GPG dengan menjalankan perintah berikut.
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Setelah impor berhasil, Anda dapat menginstal Jenkins dengan menjalankan perintah berikut.
yum -y install jenkins
Jenkins sekarang diinstal di server Anda. Semua paket yang diperlukan sekarang telah diinstal. Pemasang juga membuat jenkins pengguna baru untuk menjalankan proses. Anda dapat melanjutkan lebih jauh untuk memulai server.
Memulai Jenkins
Anda dapat memulai Jenkins dengan menjalankan perintah berikut.
systemctl start jenkins
Untuk menghentikan Jenkins, Anda dapat menjalankan perintah berikut.
systemctl stop jenkins
Anda dapat memeriksa status proses dengan menjalankan perintah berikut.
systemctl status jenkins
Instal Nginx
Alih-alih mengakses aplikasi pada port 8080, kita dapat membuat proxy terbalik untuk aplikasi dengan server web Apache atau Nginx. Dalam tutorial ini, kita akan menggunakan nginx sebagai proxy terbalik untuk aplikasi Anda. Sekarang nginx akan berjalan di belakang server proxy nginx. nginx tidak tersedia di repositori YUM default. Anda perlu menginstal repositori EPEL untuk menginstal Nginx.
yum -y install epel-release
Sekarang Anda dapat menginstal Nginx dengan menjalankan:
yum -y install nginx
Buat blok server baru dengan menjalankan perintah berikut.
nano /etc/nginx/conf.d/jenkins.conf
Isi file dengan konten berikut. Ganti ci.yourdomain.com dengan nama domain Anda yang sebenarnya.
upstream jenkins{ server 127.0.0.1:8080; } server{ listen 80; server_name ci.yourdomain.com; access_log /var/log/nginx/jenkins.access.log; error_log /var/log/nginx/jenkins.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://jenkins; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
Simpan file dan keluar dari editor. Sekarang Anda dapat memulai Nginx dengan menjalankan perintah berikut.
systemctl start nginx
Untuk mengaktifkan Nginx agar secara otomatis mulai saat boot dengan menjalankan perintah berikut.
systemctl enable nginx
Konfigurasi Firewall dan SELinux
Jika Anda memiliki firewall yang berjalan di server Anda, Anda harus mengizinkan port 8080 dan port HTTP standar melalui firewall. Jalankan perintah berikut untuk menambahkan aturan firewall untuk mengizinkan port 8080 dan 80.
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
Muat ulang zona firewall dengan menjalankan:
firewall-cmd --reload
Konfigurasikan SELinux untuk konfigurasi proxy nginx dengan menjalankan perintah berikut.
setsebool httpd_can_network_connect 1 -P
Konfigurasi Jenkins
Sekarang Anda dapat mengakses antarmuka web server Jenkins CI dengan membuka alamat web berikut.
http://ci.yourdomain.com
Ganti ci.yourdomain.com dengan domain Anda yang sebenarnya. Anda akan melihat antarmuka berikut.
Ini akan menanyakan kata sandi admin awal Anda, yang dibuat oleh penginstal dan disimpan di file /var/lib/jenkins/secrets/initialAdminPassword. Jalankan perintah berikut untuk mendapatkan kata sandi admin awal.
cat /var/lib/jenkins/secrets/initialAdminPassword
Gunakan kata sandi untuk masuk lebih jauh.
Di bagian selanjutnya, Anda akan ditanya plugin mana yang ingin Anda instal, untuk pemula, disarankan untuk memilih Install Recommended Plugins .
Ini akan menginstal semua plugin yang diperlukan untuk memulai.
Pada antarmuka berikutnya, plugin akan diinstal.
Sekarang Anda perlu membuat pengguna administrator untuk dasbor admin Jenkins Anda.
Terakhir, Anda akan dibawa ke dasbor administratif Jenkins.
Kesimpulan
Anda sekarang dapat menggunakan Jenkins untuk integrasi berkelanjutan dalam pengembangan perangkat lunak. Anda dapat mempelajari lebih lanjut tentang Jenkins dengan mengunjungi situs web Jenkins.