Cara Konfigurasi Jenkins Continuous Integration di FreeBSD
· 2 min read · Label UnixBSD
Integrasi Berkelanjutan atau Continuous Integration (CI) merupakan bagian terpenting dari DevOps yang digunakan untuk mengintegrasikan berbagai tahap DevOps. Jenkins merupakan alat Integrasi Berkelanjutan yang paling terkenal. Jenkins merupakan alat otomatisasi aplikasi sumber terbuka yang ditulis dalam Java dengan plugin yang dibuat untuk integrasi berkelanjutan. Jenkins digunakan untuk membangun dan menguji proyek perangkat lunak secara berkelanjutan, sehingga memudahkan pengembang untuk mengintegrasikan perubahan pada proyek, dan memudahkan pengguna untuk mendapatkan versi terbaru dari aplikasi yang mereka gunakan. Jenkins juga memungkinkan penggunanya untuk terus mengirimkan perangkat lunak dengan terus mengintegrasikan sejumlah besar teknologi pengujian dan penerapan.
Dengan Jenkins, organisasi dapat mempercepat proses pengembangan perangkat lunak melalui otomatisasi. Jenkins mengintegrasikan semua jenis proses siklus hidup pengembangan, termasuk pembuatan, pendokumentasian, pengujian, pengemasan, tahap, penerapan, analisis statis, dan banyak lagi.
Jenkins dapat mencapai tujuannya sebagai alat integrasi berkelanjutan dengan bantuan plugin. Plugin memungkinkan integrasi berbagai tahap DevOps. Jika kita ingin mengintegrasikan alat tertentu, kita diharuskan untuk memasang plugin untuk alat tersebut. Misalnya Git, proyek Maven 2, Amazon EC2, penerbit HTML dan lainnya.
Dengan Jenkins, organisasi dapat mempercepat proses pengembangan perangkat lunak melalui otomatisasi. Jenkins mengintegrasikan semua jenis proses siklus hidup pengembangan, termasuk pembuatan, pendokumentasian, pengujian, pengemasan, tahap, penerapan, analisis statis, dan banyak lagi.
Jenkins dapat mencapai tujuannya sebagai alat integrasi berkelanjutan dengan bantuan plugin. Plugin memungkinkan integrasi berbagai tahap DevOps. Jika kita ingin mengintegrasikan alat tertentu, kita diharuskan untuk memasang plugin untuk alat tersebut. Misalnya Git, proyek Maven 2, Amazon EC2, penerbit HTML dan lainnya.
![]() |
Diagram aliran jenkins dalam siklus hidup Pengembangan Perangkat Lunak |
Jenkins adalah server integrasi berkelanjutan (CI) sumber terbuka yang ditulis dalam Java. Ini adalah aplikasi web yang memungkinkan Anda mengotomatiskan berbagai tugas pengembangan perangkat lunak seperti membangun, menguji, dan menyebarkan. Jenkins dapat digunakan untuk berbagai proyek, terlepas dari ukuran atau kompleksitasnya.
Jenkins adalah alat hebat yang dapat membantu mengotomatiskan proses pengembangan perangkat lunak dan meningkatkan kualitasnya. Jika Anda mencari cara untuk meningkatkan proses pengembangan perangkat lunak Anda, Jenkins adalah pilihan yang tepat.
Manfaat Jenkins
Platform Jenkins memiliki banyak keunggulan yang membuatnya sangat populer untuk mengotomatiskan proses pengembangan perangkat lunak. Berikut ini adalah beberapa keunggulan platform ini yang paling jelas:
- Gratis dan Open Source: Ini adalah platform open source yang gratis, artinya platform ini bebas digunakan dan digunakan untuk berkontribusi dalam pengembangannya.
- Kuat: Memiliki banyak fitur yang memungkinkan Anda mengotomatiskan berbagai tugas pengembangan perangkat lunak.
- Dapat diperluas: Memiliki banyak plugin yang dapat Anda gunakan untuk menambahkan fitur baru dan terintegrasi dengan alat lain.
- Komunitas: Memiliki komunitas pengguna dan pengembang yang besar dan aktif yang dapat memberikan dukungan dan bantuan.
- Sangat mudah dipasang.
Apa itu integrasi berkelanjutan?
Integrasi Berkelanjutan (CI) adalah praktik pengembangan yang mengharuskan pengembang untuk melakukan perubahan kode sumber ke repositori bersama beberapa kali sehari atau lebih sering. Setiap komitmen yang dibuat ke repositori tersebut kemudian dibuat. Hal ini memungkinkan tim untuk mendeteksi masalah lebih awal. Selain itu, tergantung pada alat Integrasi Berkelanjutan, ada beberapa fitur lain seperti menyebarkan aplikasi build ke server pengujian, berbagi hasil build dan pengujian dengan kelompok pemangku kepentingan, dan lain-lain.
Integrasi berkelanjutan adalah praktik pengembangan perangkat lunak DevOps di mana pengembang secara teratur menggabungkan perubahan kode mereka ke dalam repositori pusat, setelah itu pembuatan dan pengujian otomatis dijalankan. Integrasi berkelanjutan paling sering merujuk pada tahap pembuatan atau integrasi dari proses rilis perangkat lunak dan memerlukan komponen otomatisasi (misalnya CI atau layanan pembuatan) dan komponen kultural (misalnya belajar untuk melakukan integrasi secara berkala). Sasaran utama integrasi berkelanjutan adalah untuk menemukan dan mengatasi bug lebih cepat, meningkatkan kualitas perangkat lunak, dan mengurangi waktu yang diperlukan untuk memvalidasi dan merilis pembaruan perangkat lunak baru.
Dalam rekayasa perangkat lunak, Integrasi Berkelanjutan sering diartikan sebagai bentuk kontrol kualitas, di mana upaya kecil sering diterapkan, berbeda dengan metode yang lebih tradisional dalam menerapkan kontrol kualitas setelah pengembangan selesai. Integrasi diverifikasi oleh build otomatis yang digunakan untuk mendeteksi kesalahan integrasi secepat mungkin dan menguji perangkat lunak.
Tim pengembangan menggunakan pendekatan integrasi berkelanjutan untuk pengembangan perangkat lunak karena memungkinkan mereka untuk mengembangkan dengan cara yang lebih cepat dan lebih efisien daripada jika mereka bekerja secara terpisah untuk jangka waktu yang lebih lama.
Continuous Integration dengan Jenkins
Bayangkan skenario di mana kode sumber lengkap untuk aplikasi telah dibuat dan kemudian disebarkan ke server pengujian untuk pengujian. Ini tampaknya merupakan cara yang ideal untuk mengembangkan perangkat lunak, tetapi prosesnya memiliki banyak kekurangan. Saya akan mencoba menjelaskannya satu per satu.
- Pengembang harus menunggu hingga hasil pengujian lengkap perangkat lunak dikembangkan.
- Ada kemungkinan besar bahwa hasil pengujian akan menunjukkan beberapa kesalahan. Pengembang mengalami kesulitan menemukan bug karena mereka harus memeriksa seluruh kode sumber aplikasi.
- Memperlambat proses pengiriman perangkat lunak.
- Tidak ada umpan balik berkelanjutan mengenai masalah seperti masalah pengodean atau arsitektur, kegagalan pembuatan, status pengujian, dan unggahan file rilis, yang dapat mengurangi kualitas perangkat lunak.
- Seluruh proses dilakukan secara manual, sehingga meningkatkan risiko kegagalan yang sering terjadi.
Dari permasalahan di atas, dapat dilihat bahwa proses pengiriman perangkat lunak tidak hanya lambat, tetapi kualitas perangkat lunak juga menurun. Hal ini menyebabkan ketidakpuasan pelanggan. Oleh karena itu, untuk mengatasi kekacauan tersebut, diperlukan sistem yang memungkinkan pengembang untuk terus menjalankan build dan pengujian untuk setiap perubahan yang dilakukan pada kode sumber. Itulah tujuan CI. Jenkins adalah alat CI paling matang yang tersedia, jadi mari kita lihat bagaimana integrasi berkelanjutan dengan Jenkins telah mengatasi kekurangan di atas.
Pertama, saya akan menjelaskan kepada Anda skema umum integrasi berkelanjutan dengan Jenkins sehingga menjadi jelas bagaimana Jenkins mengatasi kelemahan di atas:
- Pertama, pengembang melakukan komit kode ke repositori kode sumber. Sementara itu, server Jenkins secara teratur memeriksa perubahan pada repositori.
- Begitu komit terjadi, server Jenkins mendeteksi perubahan yang terjadi di repositori kode sumber. Jenkins akan melakukan komit perubahan ini dan mulai menyiapkan versi baru.
- Jika build gagal, tim yang sesuai akan diberi tahu.
- Jika build berhasil, Jenkins menyebarkan server pengujian bawaan.
- Setelah pengujian, Jenkins menghasilkan umpan balik dan kemudian memberi tahu pengembang tentang hasil build dan pengujian.
- Jenkins akan terus memeriksa repositori kode sumber untuk perubahan yang dibuat pada kode sumber, dan seluruh proses akan berulang dengan sendirinya.
Karena Jenkins dibangun di Java, ada baiknya Anda membaca artikel tentang Java yang telah kami tulis sebelumnya "Memasang dan Mengkonfigurasi Java OpenJDK 20 di FreeBSD 14"
Untuk memasang Jenkins, kita harus memasang Java terlebih dahulu. Anggaplah Anda telah membaca artikel Java di atas dan sistem Java telah terpasang di komputer FreeBSD. Jadi sekarang kita lanjutkan saja proses pemasangan Jenkins di komputer FreeBSD. Dalam artikel ini kita akan memasang Jenkins di OS FreeBSD 13.2. Berikut ini adalah cara memasang Jenkins.
Untuk menginstal Jenkins, kita harus menginstal Java terlebih dahulu. Mari kita asumsikan Anda telah membaca artikel Java di atas dan sistem Java telah diinstal pada komputer FreeBSD. Jadi sekarang kita lanjutkan saja dengan proses instalasi Jenkins pada komputer FreeBSD. Dalam artikel ini kita menginstal Jenkins pada OS FreeBSD 13.2. Berikut ini adalah cara menginstal Jenkins.
Install Jenkins
root@ns1:~ # cd /usr/ports/devel/jenkins
root@ns1:/usr/ports/devel/jenkins # make install clean
Setelah proses instalasi selesai, lanjutkan dengan mengedit berkas /etc/rc.conf, untuk memulai rc.d. Masukkan perintah berikut dalam berkas /etc/rc.conf.
Edit file /etc/rc.conf
root@ns1:~ # ee /etc/rc.conf
jenkins_enable="YES"
jenkins_home="/usr/local/jenkins"
jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=192.168.5.2 --httpPort=8180"
jenkins_java_home="/usr/local/openjdk11"
jenkins_user="jenkins"
jenkins_group="jenkins"
jenkins_log_file="/var/log/jenkins.log"
Kemudian kita lanjut ke langkah berikutnya yaitu melakukan restart Jenkins untuk mengaktifkan Jenkins pada sistem FreeBSD.
Restart Jenkins
root@ns1:~ # service jenkins restart
Stopping jenkins.
Waiting for PIDS: 913.
Starting jenkins.
Sampai di sini konfigurasi Jenkins melalui menu interface Command Line sudah selesai, sekarang kita akan lanjut konfigurasi Jenkin melalui menu GUI. Lebih mudah karena ada gambar seperti kita menggunakan Windows. Untuk konfigurasi Jenkins dengan GUI, kita buka web browser Google Chrome atau Yandex. Pada menu new address, ketik IP address dan port yang sudah kita tentukan tadi http://192.168.5.2:8180/jenkins/, setelah menekan tombol "enter" akan muncul gambar seperti di bawah ini.
![]() |
Membuka Jenkins di Web Browser Google Chrome |
Kata sandi Jenkins dapat dilihat di file /usr/local/jenkins/secrets/initialAdminPassword, buka file tersebut dan salin lalu tempel kata sandi untuk membuka Jenkins.
Lihat password Jenkins
root@ns1:~ # ee /usr/local/jenkins/secrets/initialAdminPassword
79fa6b92b88b4ec593fd2ae77ffc501f
79fa6b92b88b4ec593fd2ae77ffc501f adalah kata sandi Jenkins. Dengan kata sandi ini kita dapat masuk ke menu GUI Jenkin dan dapat mengubah kata sandi. Setelah menu Jenkins terbuka, pertama kali Jenkins akan melakukan sinkronisasi, tunggu beberapa saat hingga proses sinkronisasi selesai.
![]() |
Masukkan Kata Sandi Jenkins |
![]() |
Jenkins siap digunakan |
Seperti yang disebutkan di awal postingan ini, pembahasan dalam artikel ini hanyalah pengantar singkat tentang Integrasi Berkelanjutan dengan Jenkins di FreeBSD. Anda disarankan untuk memeriksa dokumentasi daring tentang Jenkins dan Integrasi Berkelanjutan di situs web resmi Jenkins. Jenkins juga menyediakan banyak plugin siap pakai yang memperluas fungsinya. Anda dapat memeriksa plugin yang tersedia untuk Jenkins di sini dan menginstalnya sesuai kebutuhan.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar