- create new folder .github/workflows in laravel app root dir
- create new file deploy.yml in workflows folder
- open repo settings secrets menu
- add new secret SSH_PRIVATE_KEY
- add new secret SSH_HOST
- add deploy keys with your ssh pubkey (optional)
- add this configuration template in deploy.yml file:
name: deploy
on:
push:
branches: [test]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
tools: composer:v2
coverage: none
- name: Install Composer dependencies
run: composer update
- name: Setup SSH
uses: kielabokkie/ssh-key-and-known-hosts-action@v1.2.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh-host: ${{ secrets.SSH_HOST }}
- name: Deploy Environment
run: ./vendor/bin/envoy run deploy