How to Install jenkins

DevSecOps Series #2 | Using a Power-Full automation tools

Btech Engineering
btech-engineering
4 min readAug 9, 2022

--

Jenkins is the way by cloudbees

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

  1. Dua buah server dengan minimal os ubuntu 20.04
  2. Jenkins version LTS
  3. Environment Java
  4. SSH
  5. Web Browsers

Langkah Instalasi

Topologi 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

2. Installation Docker

3. Installation Java

Instalasi Jenkins Master

1. Download Jenkins Package & Update Repository

2. Install Jenkins package

3. Buka Jenkins Dashboard

Open browser

Akses Jenkins url http://172.16.10.30:8080

4. Masukan default password

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

2. SSH Key Pair

3. Add Public Key to 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

2. Get JNLP

3. Create agent > for “launch method” select “Launch Agent via execution of command on the master”

For launch command :

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

--

--

Btech Engineering
btech-engineering

Our mission is continuous learning and remember together is better.