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
- Developer melakukan
git pushke branchmain. - GitHub Actions memicu linting, unit test, dan build Docker image.
- Image di-push ke GitHub Packages / Docker Hub.
- 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:
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 --buildSiap mendalami topik lainnya?
Koleksi tutorial arsitektur, clean code, dan DevOps kami diperbarui secara berkala.

