Mengenal Jenkins

Mengenal Jenkins

Created
Jun 22, 2021 04:39 PM
Tags
Jenkins
DevOps
Author
Description
Jenkins merupakan sebuah automasi server berbasis open source yang ditulis menggunakan bahasa Java. Salah satu kegunaan Jenkins adalah untuk mengimplementasikan Continuous Integration dan Continous Delivery atau biasa yang disebut CI/CD proses. lebih jelasnya jenkins memudahkan kita untuk Proses seperti testing, building dan deployment yang dapat dijalankan secara otomatis.

# Installasi Jenkins

untuk proses installasi saya sudah membuat script bash yang memudahkan penginstallan jenkins.
$ git clone https://github.com/notme1001/jenkins-run.git && cd jenkins-run $ ./test.sh +++++++++++++++++++++++++++++++++++inu++++++++++++++++++++++++++++++++++++++++++++ __ __ __ |__| ____ ____ | | _|__| ____ ______ _______ __ __ ____ | |/ __ \ / \| |/ / |/ \ / ___/ ______ \_ __ \ | \/ \ | \ ___/| | \ <| | | \___ \ /_____/ | | \/ | / | \ /\__| |\___ >___| /__|_ \__|___| /____ > |__| |____/|___| / \______| \/ \/ \/ \/ \/ \/ =============================Jenkins-Installer==================================== Simple Install Jenkins With one command , Select Distro Linux for install : Date : Sel 23 Mar 2021 05:49:33 WIB 1 - centos7 2 - ubuntu or debian 3 - Example Jenkinsfile Enter selection:
Pilih distro Linux yang di gunakan pada server atau local. setelah installasi selesai kita bisa mengakses jenkins dengan membuka url jenkins dengan port default yaitu 8080. http://ip-server:8080 .

Konfigurasi Jenkins

  • Unlock Jenkins dengan menjalankan perintah dibawah. lalu copy password key untuk membuka jenkins.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
notion image
  • Lanjutkan dengan memilih install suggested plugins.
notion image
  • set username dan password.
notion image
  • Konfigurasi alamat url untuk jenkins.
notion image

# Penggunaan

Mengintegrasikan Jenkins dengan github, untuk otomatis deploy ketika kita melakukan push pada branch yang di tentukan .
  • Buat jobs baru , masukkan namajob dan memilih Pipeline.
notion image
  • Untuk Tab General centang Github Project , dan isi dengan url repository github yang akan digunakan.
notion image
  • Untuk Tab Build Triggers , centang GitHub hook trigger for GITScm polling .
notion image
  • Untuk Tab Pipline , Konfigurasi seperti gambar di bawah, dan Simpan konfigurasi Pipeline.
notion image

Penjelasan Konfigurasi Pipeline

  1. karena kita menggunakan github SCM di sini set git (berlaku juga untuk bitbucket).
  1. cerdential disini saya tidak isi dikarenakan repository yang saya gunakan publik, apabila ingin menggunakan repository yang bersifat private kita bisa menambahkan cerdential menggunakan username & password github atau menggunakan ssh.
  1. Branch to build, masukkan branch yang akan di gunakan .
  1. Script Path , File jenkins yang akan di eksekusi untuk melakukan deployment, defaultnya Jenkinsfiles.
notion image
  • Membuat Jenkinsfile pada repository github, dengan nama Jenkinsfile .
pipeline { environment { PATH = "$PATH:/usr/bin/docker-compose" } agent any stages { stage('Build') { steps { echo 'Build... \n' sh "ls -lisa" } } stage('Test') { steps { echo 'Runningg Test.. \n' } } stage('Deploy') { steps { echo 'Successs... \n' } } } }

Penjelasan Script Pipeline

  1. environment disini saya memasukkan path docker-compose apabila ingin menggunakan docker , tetapi jika proses deploy tidak menggunakan docker kita bisa menghapusnya.
  1. stage disini adalah tahap yang akan dikerjakan jenkins, disini saya membuat tiga tahap yaitu proses build dengan mencetak echo dan mengecek directory workspace yang di jalankan.
  1. sh berfungsi untuk menjalankan command linux , contohnya di sini saya menjalankan perintah ls .
  • sampai sini kita bisa mengetes build pada jenkins.
notion image
  • Hasil proses build pada jenkins.
notion image
  • Hasil integrasi jenkins dan github, ketika melakukan push Jenkins akan memproses build dengan menarik repositori dan menjalankan Jenkinsfile.
notion image
notion image

# Kata Penulis

Bagaimana cukup mudah kan?
Sebenarnya Jenkins dapat lebih dari yang saya katakan diatas, contohnya mengirim pesan setelah proses build dikerjakan dengan bot telegram atau email. Namun cukup itu yang dapat saya berikan. Sekian dari saya dan semoga bermanfaat.