Pipeline CI/CD dengan GitHub Actions untuk Aplikasi Web
Membangun pipeline lint, test, build, dan deploy otomatis ke server Linux menggunakan GitHub Actions.
1 menit bacaAhmad Apandi
Tujuan pipeline
Setiap push ke main harus:
- Menjalankan lint & test
- Build artifact / image
- Deploy ke staging atau production dengan approval
Contoh workflow
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- run: composer install --no-interaction
- run: php artisan test
Deploy aman
- Gunakan SSH key sebagai secret
- Jalankan migrasi dengan care (
--forcehanya di pipeline yang terkunci) - Healthcheck setelah deploy
- Rollback plan yang tertulis
Penutup
CI/CD yang baik mengurangi “karya di laptop saya jalan” dan meningkatkan kepercayaan tim untuk ship sering.