How to Install jenkins
DevSecOps Series #2 | Using a Power-Full automation tools
Jika pada artikel sebelumnya kami telah membahas mengenai penjelasan DevSecOps, perbedaanya dengan DevOps. Pada artikel ini akan membahas mengenai instalasi salah satu tools DevOps yang sangat populer yaitu Jenkins. Jenkins merupakan salah satu tools CI yang bersifat open source. Jenkins merupakan tools yang bersifat powerfull dikarenakan kita dapat dengan bebas untuk menggunakan dan bahkan mengkonfigurasi sesuai dengan keperluan kita untuk menjalankan CICD yang ada. Pada kesempatan ini akan menjelaskan mengenai instalasi Jenkins dengan server linux dengan skema Multi Node atau Jenkins master — slaves. Skema Jenkins master — slave on linux dapat menggunakan ssh ataupun jnlp untuk komunikasi antar server.
Jenkins
Sebelum membahas mengenai instalasi Jenkins, alangkah baiknya kita berkenalan dahulu dengan Jenkins.
“Jenkins is a self-contained, open-source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.”
jenkins.io
Seperti yang dikutip dari dokumentasi resminya Jenkins merupakan tools open-source yang biasa digunakan untuk automasi proses dalam tahapan development aplikasi. Jenkins sendiri menggunakan java runtime dan dapat diinstal pada beberapa environment seperti on Linux, Docker bahkan on Kubernetes.
Prasyarat
- Dua buah server dengan minimal os ubuntu 20.04
- Jenkins version LTS
- Environment Java
- SSH
- Web Browsers
Langkah Instalasi
Instalasi Dependensi
Sebelum melakukan instalasi, sebaiknya kita perlu melakukan setup dan instalasi dari dependency yang diperlukan Jenkins. Lakukan semua perintah berikut pada setiap node komputer.
1. Update Package
$ sudo apt update -y
2. Installation Docker
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
3. Installation Java
$ sudo apt update
$ sudo apt install openjdk-11-jdk
$ java — version
Instalasi Jenkins Master
1. Download Jenkins Package & Update Repository
$ curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null$ echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
2. Install Jenkins package
$ sudo apt-get update
$ sudo apt-get install Jenkins -y
3. Buka Jenkins Dashboard
Open browser
Akses Jenkins url http://172.16.10.30:8080
4. Masukan default password
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Setup Connection Agent (On Slave agent)
Untuk instalasi Jenkins server sudah cukup seperti cara di atas, namun pada artikel ini akan menggunakan skema Jenkins master — Jenkins slave. Jenkins slave akan digunakan sebagai build agent. Untuk protokol komunikasi dapat menggunakan SSH dan JNLP. Pada artikel ini akan di berikan 2 cara, pembaca dapat menerpakan salah satunya.
Use SSH
1. Create User Jenkins
$ useradd jenkins
2. SSH Key Pair
$ ssh-keygen -t rsa
3. Add Public Key to authorized_keys
$ cat ~/.ssh/key.pub > ~/.ssh/ authorized_keys
4. Store private key server to Jenkins crendential
- Open Jenkins
- Go to Configure > Manage Credential
- Add Credential
- Fill the form
5. Install Plugin ssh-slaves on Jenkins
6. Add New Node
- Go to “Manage Jenkins” > “Manage Nodes and clouds” > “New Node” > add name for node and select permanent agent
- “Launch method” selech “Launch Agent via SSH”
- Tunggu hingga koneksi berhasil
Use JNLP
1. Install java runtime engine
$ sudo apt install default-jre
2. Get JNLP
$ cd /opt
$ wget http://172.16.10.30:8080/jnlpJars/agent.jar
3. Create agent > for “launch method” select “Launch Agent via execution of command on the master”
For launch command :
ssh -o StrictHostKeyChecking=no -i /home/jenkins/.ssh/id_rsa.pub jenkins@agent java -jar /opt/agent.jar
4. Tunggu hingga koneksi berhasil
Memberikan job terhadap Jenkins slave
1. Masuk ke dashboard > pilih “New Item” > Masukan nama job lalu pilih pipeline
2. Kemudian scroll ke bawah sampai pada form “pipeline”
3. Selanjutnya masukan script seperti dibawah untuk melakukan pipeline sederhana dari Jenkins.
4. Setelah disimpan, jalankan job dengan klik pada button “Build Now”
5. Dapat di lihat pada log bahwasanya job tersebut dijalankan pada agent.
Penutup
Pembahasan mengenai instalasi Jenkins pada artikel ini sudah selsai, namun masih terdapat beberapa metode instalasi Jenkins yang lain, dan akan kami coba untuk bahas pada artikel berikut nya. Nantikan artikel selanjutnya ... Stay tune : D
Referensi
Our Tagline
# Together is Better & Continuous Learning
Author :
Muhammad Fauzan Rafi, Staff of Research Btech
Connect with me | 🔗Linkedln