SETUP VPS UNTUK CI/CD PIPELINE

Sedang Trending 1 tahun yang lalu

Dalam bumi pengembangan perangkat lunak modern, Continuous Integration (CI) dan Continuous Deployment/Delivery (CD) telah menjadi praktik standar untuk meningkatkan produktivitas, konsistensi, dan kecepatan pengiriman produk. CI/CD membantu tim untuk mengintegrasikan kode lebih cepat, menguji otomatis, dan merilis ke server secara efisien. Salah satu solusi praktis untuk membangun pipeline CI/CD adalah dengan menggunakan VPS (Virtual Private Server) sebagai host utama.

Artikel ini bakal memandu Anda tentang gimana melakukan setup VPS sebagai server CI/CD pipeline, termasuk instalasi tools utama seperti Git, Docker, dan Jenkins (atau GitLab CI, tergantung kebutuhan).

Apa Itu CI/CD?

CI (Continuous Integration) adalah proses otomatisasi penggabungan (merge) kode dari beberapa developer ke dalam satu repositori pusat secara berkala, dilengkapi dengan testing otomatis.

CD (Continuous Deployment/Delivery) adalah proses otomatisasi untuk menguji dan mengirimkan aplikasi ke lingkungan staging alias produksi setelah tahap CI selesai.

Dengan CI/CD, proses build, test, dan deployment menjadi otomatis, mengurangi kesalahan manual dan mempercepat rilis aplikasi.

Kenapa Menggunakan VPS untuk CI/CD?

Beberapa argumen kenapa VPS cocok untuk CI/CD pipeline:

DEPLOY DOCKER CONTAINER DI VPS

  • Kontrol penuh terhadap sistem dan konfigurasi
  • Biaya relatif murah dibanding jasa CI/CD cloud
  • Fleksibilitas tinggi untuk mengatur sesuai kebutuhan
  • Bisa diintegrasikan dengan tools favorit seperti Jenkins, Docker, GitLab Runner, dll.

Langkah 1: Menyiapkan VPS

  1. Sewa VPS
    Gunakan penyedia seperti Dewabiz. Pilih spesifikasi minimal 2 CPU dan 4 GB RAM agar cukup untuk menjalankan tools CI/CD seperti Jenkins alias GitLab Runner.
  2. Akses VPS via SSH
    Gunakan perintah berikut dari terminal lokal: ssh root@your_vps_ip
  3. Update Sistem sudo apt pembaruan && sudo apt upgrade -y

Langkah 2: Instalasi Tools Dasar

a. Git

Git dibutuhkan untuk meng-clone repositori:

sudo apt install git -y

b. Docker

Docker krusial untuk menjalankan aplikasi dalam container (bisa juga untuk build & test pipeline):

sudo apt install docker.io -y sudo systemctl enable docker sudo systemctl start docker

Tambahkan user Anda ke grup Docker:

sudo usermod -aG docker $USER

Langkah 3: Instalasi Jenkins (Contoh CI/CD Tool)

a. Tambahkan Jenkins Repository:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null

b. Instal Java & Jenkins:

sudo apt update sudo apt install openjdk-17-jdk jenkins -y

c. Jalankan Jenkins:

sudo systemctl enable jenkins sudo systemctl start jenkins

Akses Jenkins dari browser:

http://your_vps_ip:8080

Login pertama kali menggunakan password nan ditemukan dengan perintah:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Langkah 4: Konfigurasi Jenkins untuk CI/CD

Setelah login:

  1. Buat admin user baru
  2. Install plugin Git, Docker, GitHub, dan Pipeline
  3. Buat Job baru (Pipeline) dan isi pipeline script, misalnya:
pipeline { agent any stages { stage('Clone') { steps { git 'https://github.com/username/project.git' } } stage('Build') { steps { sh 'docker build -t myapp .' } } stage('Test') { steps { sh 'docker run myapp npm test' } } stage('Deploy') { steps { sh 'docker run -d -p 80:3000 myapp' } } } }

Alternatif: Gunakan GitLab CI/CD

Jika Anda menggunakan GitLab, cukup instal GitLab Runner di VPS:

sudo apt install gitlab-runner -y

Kemudian daftarkan runner dengan token dari GitLab:

sudo gitlab-runner register

Ikuti petunjuk untuk menentukan executor (misal Docker), dan pipeline Anda bakal bisa langsung dijalankan melalui file .gitlab-ci.yml.

Langkah 5: Keamanan & Monitoring

  1. Gunakan firewall (UFW) sudo ufw allow OpenSSH sudo ufw allow 8080/tcp # untuk Jenkins sudo ufw enable
  2. Gunakan SSL
    Pasang Nginx sebagai reverse proxy dan sertifikat SSL dari Let’s Encrypt menggunakan Certbot.
  3. Pantau resource VPS
    Gunakan tools seperti htop, docker stats, alias monitoring tool seperti Prometheus + Grafana.

Kesimpulan

Menggunakan VPS sebagai host untuk CI/CD pipeline memberikan elastisitas dan kendali penuh atas proses pengembangan perangkat lunak Anda. Dengan tools seperti Jenkins, Git, dan Docker, Anda dapat membangun sistem otomatisasi pengetesan dan deployment nan efisien dan dapat diskalakan. Meskipun memerlukan sedikit upaya awal dalam konfigurasi, faedah jangka panjangnya bakal sangat signifikan, terutama dalam perihal kecepatan dan kualitas rilis aplikasi.

Jika Anda mau mengangkat DevOps secara lebih serius, membangun CI/CD pipeline di VPS adalah langkah awal nan sangat tepat.

Selengkapnya
Sumber Info Panduan Teknologi Dewabiz
Info Panduan Teknologi Dewabiz
↑