Automasi CI/CD dengan Jenkins di VPS: Cocok untuk Pemula
Halo, DomaiNesians! Dalam dunia pengembangan perangkat lunak modern, kecepatan dan konsistensi adalah kunci. Untuk mencapai ini, banyak tim developer menggunakan CI/CD (Continuous Integration and Continuous Deployment) untuk mempercepat proses pengembangan dan pengiriman aplikasi. Salah satu alat paling populer untuk ini adalah Jenkins, sebuah server otomatisasi open-source yang kuat dan fleksibel.
Pada tutorial kali ini, kita akan membahas bagaimana cara menginstal dan mengkonfigurasi Jenkins di VPS untuk mengotomatiskan pipeline CI/CD proyek kita. Yuk, simak tutorialnya sampai habis ya!
Apa Itu Jenkins?
Dalam praktik DevOps modern, proses build, pengujian, dan rilis aplikasi tidak lagi dilakukan secara manual. Di sinilah server otomasi CI/CD berperan penting. Jenkins adalah server otomasi open source yang banyak digunakan untuk continuous integration (CI) dan continuous delivery (CD) dalam pengembangan perangkat lunak.
Artinya, setiap perubahan kode yang dikirim ke repository dapat langsung diproses secara otomatis, tanpa menunggu campur tangan manual dari tim developer. Tools yang satu ini berfungsi sebagai pusat orkestrasi yang menghubungkan source code, sistem pengujian, dan target deployment dalam satu alur kerja otomatis.
Dengan ekosistem plugin yang luas, Jenkins memungkinkan developer untuk mengelola alur kerja pengembangan perangkat lunak secara otomatis, mulai dari build, test, hingga deployment aplikasi.
Peran Utama dalam CI/CD
Pada level CI, sistem ini akan:
- menarik kode terbaru dari repository,
- melakukan proses build,
- menjalankan automated testing,
- dan memberikan feedback cepat jika terjadi error.
Sementara pada level CD, hasil build yang lolos pengujian dapat:
- dipaketkan,
- dipindahkan ke environment staging,
- hingga akhirnya dirilis ke production dengan proses yang terkontrol.
Pendekatan ini membantu tim mendeteksi masalah sejak dini dan mengurangi risiko kegagalan saat rilis aplikasi.
Ekosistem Plugin yang Luas
Salah satu kekuatan utamanya adalah ekosistem plugin yang sangat besar. Melalui plugin, sistem ini bisa diintegrasikan dengan berbagai tools DevOps populer seperti:
- version control system (Git),
- container platform,
- cloud service,
- notification tools,
- hingga sistem monitoring.
Dengan fleksibilitas tersebut, alur kerja dapat disesuaikan dengan kebutuhan tim, baik untuk project skala kecil maupun enterprise.
Tutorial Automasi CI/CD dengan Jenkins di VPS
Pada tutorial ini, kita akan membangun server CI/CD mandiri di VPS agar proses build, test, dan deployment aplikasi bisa berjalan otomatis. Menggunakan VPS memberi kita kontrol penuh terhadap konfigurasi, keamanan, serta resource yang digunakan.
Pendekatan ini cocok untuk tim DevOps, developer backend, maupun project production yang membutuhkan workflow rilis yang konsisten dan terukur.
Langkah 1: Update Server VPS
Sebelum melakukan instalasi apa pun, pastikan sistem operasi berada dalam kondisi terbaru. Hal ini penting untuk:
- menghindari konflik dependensi
- memastikan patch keamanan sudah diterapkan,
- serta menjaga kompatibilitas package ke depannya.
Jalankan perintah berikut:
|
1 |
sudo apt update && sudo apt upgrade -y |
Tunggu hingga proses selesai. Jika kernel diperbarui, disarankan melakukan reboot agar perubahan aktif sepenuhnya.
Langkah 2: Instal Java (Runtime Utama)
Server otomasi CI/CD berjalan di atas Java Virtual Machine (JVM), sehingga Java wajib tersedia di sistem. Untuk versi yang stabil dan direkomendasikan, kita akan menggunakan OpenJDK 17.
Instal Java dengan perintah:
|
1 |
sudo apt install openjdk-17-jdk -y |
Setelah instalasi selesai, verifikasi versinya:
|
1 |
java -version |
Output yang muncul harus menunjukkan Java 17. Jika belum sesuai, pipeline automation berpotensi gagal saat dijalankan.
Langkah 3: Menambahkan Repository Jenkins
Agar sistem selalu mendapatkan versi terbaru dan update keamanan, kita perlu menambahkan repository resmi dari tool otomasi yang akan digunakan.
1. Tambahkan GPG key
Langkah ini memastikan package yang diunduh berasal dari sumber terpercaya.
|
1 2 |
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \ /usr/share/keyrings/jenkins-archive-keyring.asc > /dev/null |
Tambahkan repository ke sistem
|
1 2 3 |
echo deb [signed-by=/usr/share/keyrings/jenkins-archive-keyring.asc] \ https://pkg.jenkins.io/debian binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null |
3. Update daftar package:
|
1 |
sudo apt update |
Langkah 4: Instal Server CI/CD Jenkins
Setelah semua persiapan selesai, sekarang instal Jenkins dengan perintah berikut:
|
1 |
sudo apt install jenkins -y |
Setelah proses instalasi selesai, aktifkan dan jalankan servicenya:
|
1 2 |
sudo systemctl start jenkins sudo systemctl enable jenkins |
Periksa juga status Jenkins untuk memastikan apakah sudah berjalan di VPS atau belum:
|
1 |
sudo systemctl status jenkins |
Jika Jenkins sudah berjalan dengan benar, kalian akan melihat status “active (running)”.
Jika kalian mengalami kendala status aktivasi “failed”, biasanya disebabkan oleh:
- versi Java belum sesuai,
- atau konfigurasi environment belum tepat.
1. Pastikan versi Java yang terinstal adalah Java 17
|
1 |
java -version |
2. Jika kalian masih menggunakan versi Java 11, maka instal terlebih dahulu Java 17, kemudian set default Java ke Java 17:
|
1 |
sudo update-alternatives --config java |
Pilih Java 17 dari daftar yang muncul (biasanya /usr/lib/jvm/java-17-openjdk-amd64/bin/java).
3. Set JAVA_HOME untuk Jenkins
Pastikan Jenkins menggunakan Java 17 dengan mengupdate environment:
|
1 |
sudo nano /etc/default/jenkins |
4. Tambahkan atau ubah baris berikut:
|
1 |
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 |
5. Simpan (Ctrl + O), Enter, lalu keluar (Ctrl + X).
6. Reload dan Restart Jenkins
|
1 2 3 |
sudo systemctl daemon-reload sudo systemctl restart jenkins sudo systemctl status jenkins |
Langkah 5: Konfigurasi Firewall (Opsional)
Jika kalian menggunakan firewall (UFW), pastikan kalian membuka port 8080 untuk Jenkins:
|
1 2 |
sudo ufw allow 8080 sudo ufw status |
Langkah ini memastikan dashboard dapat diakses dari browser.
Langkah 6: Akses Jenkins Web Interface
Nah, sekarang kalian bisa mengakses Jenkins melalui browser dengan mengunjungi URL berikut:
|
1 |
http://IP-Server:8080 |
Sebagai contoh, jika alamat IP-server kalian adalah 123.45.678.123, maka URL-nya adalah:
|
1 |
http://123.45.678.123:8080 |
Pastikan menggunakan HTTP, bukan HTTPS (SSL bisa dikonfigurasi belakangan).
Langkah 7: Konfigurasi Awal Sistem
Saat pertama kali membuka tampilan web, kita akan diminta untuk memasukkan password administrator. Untuk mendapatkannya gunakan perintah berikut:
|
1 |
sudo cat /var/lib/jenkins/secrets/initialAdminPassword |
Salin password tersebut dan tempelkan di halaman setup.
Langkah 8: Instal Plugin yang Dibutuhkan
Setelah masuk, kita akan diminta untuk menginstal plugin. Pada tahap ini, pilih opsi Install suggested plugins agar sistem otomatis memasang plugin inti seperti:
- Git integration
- Pipeline
- Build tools
- UI management
Plugin ini akan menjadi fondasi utama dalam membangun workflow CI/CD.
Langkah 9: Buat User Admin
Setelah plugin terpasang, buat user admin untuk keamanan:
- Username: admin_devops
- Password: password_kuat123
- Nama lengkap: Admin DevOps
- Email: admin_devops@example.com
Klik Save and Continue untuk melanjutkan proses konfigurasi.
Masukkan URL Jenkins kemudian klik Save and Finish untuk menyelesaikan proses konfigurasi.
Selamat! Kalian sudah berhasil menyelesaikan proses konfigurasi. Klik Start using Jenkins untuk memulai job CI/CD pertama kalian.
Langkah 10: Setup Job CI/CD Pertama Kalian
Sekarang, kalian bisa mulai membuat pipeline pertama kalian. Berikut langkah singkatnya:
1. Klik New Item.
2. Beri nama proyek Anda (misalnya, MyApp-Build).
3. Pilih Freestyle project atau Pipeline.
4. Atur repository Git yang akan digunakan.
Kesimpulan
Menggunakan Jenkins untuk CI/CD di VPS adalah langkah besar menuju pengembangan yang lebih cepat dan konsisten. Dengan Jenkins, kalian bisa mengotomatiskan build, testing, dan deployment aplikasi, sehingga tim kalian bisa lebih fokus pada pengembangan fitur baru.
Dengan mengikuti panduan ini, sekarang kalian sudah memiliki Jenkins yang siap untuk digunakan. Jangan lupa untuk terus memperbarui sistem dan plugin-nya untuk menjaga keamanan dan performa server kalian ya!
Nah, supaya proses build, testing, dan deployment kalian tidak terganggu, pastikan kalian menggunakan Cloud VPS dari DomaiNesia ya! Karena Cloud VPS dari DomaiNesia sudah terbukti aman, handal, dan memiliki performa yang maksimal. Jadi, masih ragu untuk pakai server dari DomaiNesia?












