name: Deploy Laravel App on: push: branches: - main jobs: deploy: runs-on: self-hosted steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up SSH run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts - name: Deploy to server run: | ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' set -e cd ${{ vars.DEPLOY_PATH }} git pull origin main composer install --no-dev --optimize-autoloader php artisan config:cache php artisan route:cache php artisan view:cache chmod -R 775 storage bootstrap/cache sudo systemctl reload php${{ vars.PHP_VERSION }}-fpm EOF