Promo Domain .web.id .biz.id .my.id Hanya 5.000 Rupiah

PanduanTechnologyVPS

SETUP VPS UNTUK CI/CD PIPELINE

Sely Marlinda

Dalam dunia 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 akan memandu Anda tentang bagaimana 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 pengembang 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 atau 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 alasan mengapa VPS cocok untuk CI/CD pipeline:

  • Kontrol penuh terhadap sistem dan konfigurasi
  • Biaya relatif murah dibanding layanan 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 atau GitLab Runner.
  2. Akses VPS via SSH
    Gunakan perintah berikut dari terminal lokal: ssh root@your_vps_ip
  3. Update Sistem sudo apt update && 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 penting 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 yang 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 instruksi untuk menentukan executor (misal Docker), dan pipeline Anda akan 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, atau monitoring tool seperti Prometheus + Grafana.

Kesimpulan

Menggunakan VPS sebagai host untuk CI/CD pipeline memberikan fleksibilitas dan kendali penuh atas proses pengembangan perangkat lunak Anda. Dengan tools seperti Jenkins, Git, dan Docker, Anda dapat membangun sistem otomatisasi pengujian dan deployment yang efisien dan dapat diskalakan. Meskipun membutuhkan sedikit usaha awal dalam konfigurasi, manfaat jangka panjangnya akan sangat signifikan, terutama dalam hal kecepatan dan kualitas rilis aplikasi.

Jika Anda ingin mengadopsi DevOps secara lebih serius, membangun CI/CD pipeline di VPS adalah langkah awal yang sangat tepat.

Baca Juga