D
Setup

CI/CD

Pipeline CI/CD Admin Dazo — GitHub Actions workflow untuk build dan deploy.

Status

Workflow yang Direkomendasikan

yaml
# .github/workflows/deploy.yml
name: Deploy to Production

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.1'
          extensions: mongodb

      - name: Install Composer dependencies
        run: composer install --no-dev --optimize-autoloader

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install NPM dependencies
        run: npm install

      - name: Build assets
        run: npm run build

      - name: Deploy to server
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.SERVER_HOST }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SERVER_SSH_KEY }}
          script: |
            cd /var/www/admin-dazo
            git pull origin main
            composer install --no-dev --optimize-autoloader
            npm install && npm run build
            php artisan config:cache
            php artisan route:cache
            php artisan view:cache

Secrets yang Dibutuhkan

SecretDeskripsi
SERVER_HOSTIP/hostname server production
SERVER_USERSSH username
SERVER_SSH_KEYSSH private key

Manual Deploy (Saat Ini)

bash
# Di server production
cd /var/www/admin-dazo
git pull origin main
composer install --no-dev --optimize-autoloader
npm install && npm run build
php artisan config:cache
php artisan route:cache
php artisan view:cache