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, biasa disebut CI/CD proses. lebih jelasnya jenkins memudahkan untuk Proses seperti testing, building dan deployment yang dapat dijalankan secara otomatis.
# Installasi Jenkins
untuk proses installasi sudah dibuatkan script bash untuk penginstallan .
$ 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 bisa diakses 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/initialAdminPass7782
- Lanjutkan dengan memilih install suggested plugins.
- set username dan password.
- Konfigurasi alamat url untuk jenkins.
# Penggunaan
Mengintegrasikan Jenkins dengan github, untuk otomatis deploy ketika melakukan push pada branch yang di tentukan .
- Buat jobs baru , masukkan namajob dan memilih Pipeline.
- Untuk Tab General centang Github Project , dan isi dengan url repository github yang akan digunakan.
- Untuk Tab Build Triggers , centang GitHub hook trigger for GITScm polling .
- Untuk Tab Pipline , Konfigurasi seperti gambar di bawah, dan Simpan konfigurasi Pipeline.
Penjelasan Konfigurasi Pipeline
- karena menggunakan github SCM di sini set git (berlaku juga untuk bitbucket).
- cerdential disini tidak isi dikarenakan repository yang digunakan publik, apabila ingin menggunakan repository yang bersifat private, bisa menambahkan cerdential menggunakan username & password github atau menggunakan ssh.
- Branch to build, masukkan branch yang akan di gunakan .
- Script Path , File jenkins yang akan di eksekusi untuk melakukan deployment, defaultnya Jenkinsfiles.
- Mengkonfigurasi webhooks dengan memasukkan url http://ip-jenkins:8080/github-webhook/ , pada halaman settings di repository github.
- 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
- environment disini memasukkan path docker-compose apabila ingin menggunakan docker , tetapi jika proses deploy tidak menggunakan docker dapat dihapus.
- stage disini adalah tahap yang akan dikerjakan jenkins, disini dibuat tiga tahap yaitu proses build dengan mencetak echo dan mengecek directory workspace yang di jalankan.
- sh berfungsi untuk menjalankan command linux , contohnya menjalankan perintah ls .
- sampai sini bisa mengetes build pada jenkins.
- Hasil proses build pada jenkins.
- Hasil integrasi jenkins dan github, ketika melakukan push Jenkins akan memproses build dengan menarik repositori dan menjalankan Jenkinsfile.