Mengenal Jenkins

Mengenal Jenkins
ibnu gunawan prayogo

Ibnu Gunawan P

Tue, 22 2021, 11:39:00 pm

Daftar Isi

Mengenal Jenkins

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

/assets/articles/1616502908-2021-03-23-193428984x542scrot.png

  • Lanjutkan dengan memilih install suggested plugins.

/assets/articles/1616503198-2021-03-23-1939261456x950scrot.png

  • set username dan password.

/assets/articles/1616503326-2021-03-23-1941191294x860scrot.png

  • Konfigurasi alamat url untuk jenkins.

/assets/articles/1616503751-group-2.png

# 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.

/assets/articles/1616503956-2021-03-23-1951361796x891scrot.png

  • Untuk Tab General centang Github Project , dan isi dengan url repository github yang akan digunakan.

/assets/articles/1616504257-2021-03-23-1956271486x442scrot.png

  • Untuk Tab Build Triggers , centang GitHub hook trigger for GITScm polling .

/assets/articles/1616504412-2021-03-23-1958511484x313scrot.png

  • Untuk Tab Pipline , Konfigurasi seperti gambar di bawah, dan Simpan konfigurasi Pipeline.

/assets/articles/pipeline.png

Penjelasan Konfigurasi Pipeline

  1. karena kita menggunakan github SCM di sini set git (berlaku juga untuk bitbucket).
  2. 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.
  3. Branch to build, masukkan branch yang akan di gunakan .
  4. Script Path , File jenkins yang akan di eksekusi untuk melakukan deployment, defaultnya Jenkinsfiles.

/assets/articles/github.png

  • 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.
  2. 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.
  3. sh berfungsi untuk menjalankan command linux , contohnya di sini saya menjalankan perintah ls .
  • sampai sini kita bisa mengetes build pada jenkins.

/assets/articles/build.png

  • Hasil proses build pada jenkins.

/assets/articles/testBuild.png

  • Hasil integrasi jenkins dan github, ketika melakukan push Jenkins akan memproses build dengan menarik repositori dan menjalankan Jenkinsfile.

/assets/articles/1616506592-2021-03-23-203622355x155scrot.png

/assets/articles/last.png

# 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.