J'essaie de déployer mon application Laravel sur mon serveur en utilisant les actions Github pour construire et tester, puis de déployer via ssh.
J'ai un dépôt maître que j'utilise pour le développement et ensuite j'ai un repo de production qui est attaché à des actions script.
J'ai essayé de suivre ce tutoriel pour le déploiement des actions github.
Mon build fonctionne bien mais au moment du déploiement il n'est pas capable de trouver mon script de déploiement c'est-à-dire server_deploy.sh.
voici mon fichier main.yml
name: CD
on:
push:
branches: [ production ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PUSH_TOKEN }}
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: npm install
- run: npm run production
- name: Commit built assets
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git checkout -B deploy
git add -f public/
git commit -m "Build front-end assets"
git push -f origin deploy
- name: Deploy to production
uses: appleboy/ssh-action@master
with:
username: ${{ secrets.SSH_USERNAME }}
host: ${{ secrets.SSH_HOST }}
password: ${{ secrets.SSH_PASSWORD }}
script: 'cd /home/admin/web/case4.example.co/public_html/ && ls && sh server_deploy.sh'
et voici mon server_deploy.sh
#!/bin/sh
set -e
echo "Deploying application ..."
# Enter maintenance mode
(php artisan down --message 'The app is being (quickly!) updated. Please try again in a minute.') || true
# Update codebase
git fetch origin deploy
git reset --hard origin/deploy
# Install dependencies based on lock file
composer install --no-interaction --prefer-dist --optimize-autoloader
# Exit maintenance mode
php artisan up
echo "Application deployed!"
Cependant, lorsque j'exécute ce flux de travail, il ne trouve pas le fichier server_deploy.sh.
J'ai essayé ls
pour voir si même mon repo est vérifié mais ce n'est pas le cas.
Aidez-moi, s'il vous plaît.