This GitHub Action automates the CI/CD process for Laravel applications.
production-branch: The production branch to deploy. Default isproduction.vps-host: VPS host.vps-username: VPS username.vps-private-key: VPS private key.deploy-path: Deployment path on the VPS. Default is/var/www/html/project_name/.php-version: PHP version to use. Default is8.0.github_token: To access and create issue.
deployment-status: The status of the deployment.
name: Laravel CI/CD Workflow
on:
push:
branches:
- production
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Run CI job
uses: basantsd/laravel-ci-cd@v2
with:
job: 'ci'
github_token: ${{ secrets.GITHUB_TOKEN }}
repo: 'your-username/your-repo'
code_cleanup:
runs-on: ubuntu-latest
needs: ci
steps:
- name: Run Code Cleanup job
uses: basantsd/laravel-ci-cd@v2
with:
job: 'code_cleanup'
github_token: ${{ secrets.GITHUB_TOKEN }}
repo: 'your-username/your-repo'
cd:
runs-on: ubuntu-latest
needs: code_cleanup
steps:
- name: Run CD job
uses: basantsd/laravel-ci-cd@v2
with:
job: 'cd'
vps_private_key: ${{ secrets.VPS_PRIVATE_KEY }}
vps_username: ${{ secrets.VPS_USERNAME }}
vps_host: ${{ secrets.VPS_HOST }}
deploy_path: '/path/to/deploy'
production_branch: 'main'
php_version: '8.2'
github_token: ${{ secrets.GITHUB_TOKEN }}
repo: 'your-username/your-repo'