ASDEV logo

ASDEV

Asdev Solution Technology

IntermediateDevOps

Automasi CI/CD Pipeline dengan GitHub Actions, Docker, dan VPS Hostinger

Step-by-step setup zero-downtime deployment otomatis dari Git push hingga live di server production.

DevOps & Cloud Engineer14 menit baca21 Oktober 20263 views
#Docker#DevOps#GitHub Actions#CI/CD#Hostinger VPS

Workflow Deployment Modern

Mengupload file via FTP atau login SSH manual setiap kali ada pembaruan kode rentan terhadap human error. Solusinya adalah pipeline otomatisasi CI/CD.

Arsitektur Deployment

  1. Developer melakukan git push ke branch main.
  2. GitHub Actions memicu linting, unit test, dan build Docker image.
  3. Image di-push ke GitHub Packages / Docker Hub.
  4. Runner melakukan SSH ke VPS Hostinger dan menjalankan zero-downtime rolling update via Docker Compose.

Konfigurasi GitHub Actions Workflow

Buat file .github/workflows/deploy.yml:

yaml
name: Deploy Production

on:
  push:
    branches: [ main ]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4

      - name: Setup Node & Cache
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'

      - name: Run Quality Checks
        run: |
          npm ci
          npm run lint
          npx tsc --noEmit

      - name: Deploy to VPS via SSH
        uses: appleboy/ssh-action@v1.0.0
        with:
          host: ${{ secrets.VPS_HOST }}
          username: ${{ secrets.VPS_USER }}
          key: ${{ secrets.VPS_SSH_KEY }}
          script: |
            cd /var/www/asdev-app
            git pull origin main
            docker compose down
            docker compose up -d --build
text

Siap mendalami topik lainnya?

Koleksi tutorial arsitektur, clean code, dan DevOps kami diperbarui secara berkala.

Kembali ke Katalog Tutorial