This action triggers the deployment of a Laravel Forge site. It can optionally update the site's .env
file and deployment script prior to triggering the deployment.
Add the following entry to your Github workflow YAML file with the required inputs:
uses: PropFuel/laravel-forge-deploy-action@v1.0.1
with:
forge-api-token: your-forge-api-token
forge-server-id: your-forge-server-id
forge-site-id: your-forge-site-id
We recommend storing sensitive data as GitHub encrypted secrets.
Input | Description |
---|---|
forge-api-token |
Your Forge API Token. This can be generated in your Account Settings. |
forge-server-id |
Your Forge Server ID. |
forge-site-id |
Your Forge Site ID. |
Input | Description |
---|---|
env-file-path |
Relative path to the file whose content will replace your site's .env file. |
deploy-script-path |
Relative path to the file whose content will replace your site's deployment script. |
Trigger your site's deployment:
name: Deploy on push to main branch
on:
push:
branches:
- main
jobs:
deploy:
name: Laravel Forge Deploy
runs-on: ubuntu-latest
steps:
- name: Deploy
uses: PropFuel/laravel-forge-deploy-action@v1.0.1
with:
forge-api-token: ${{ secrets.FORGE_API_TOKEN }}
forge-server-id: ${{ secrets.FORGE_SERVER_ID }}
forge-site-id: ${{ secrets.FORGE_SITE_ID }}
Use a matrix to update the .env
file, the deployment script, and trigger the deployment of multiple sites:
name: Deploy multiple sites
on:
push:
branches:
- main
jobs:
deploy:
name: Laravel Forge Deploy
runs-on: ubuntu-latest
strategy:
matrix:
include:
- serverId: server-1-id
siteId: site-1-id
- serverId: server-2-id
siteId: site-2-id
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Write a .env file to the current workspace
run: |
echo "PROP=fuel" >> .env
echo "FOO=bar" >> .env
- name: Deploy
uses: PropFuel/laravel-forge-deploy-action@v1.0.1
with:
forge-api-token: ${{ secrets.FORGE_API_TOKEN }}
forge-server-id: ${{ matrix.serverId }}
forge-site-id: ${{ matrix.siteId }}
env-file-path: .env
deploy-script-path: path/in/repo/to/deploy.sh