2 votes

Comment déployer une application Laravel à l'aide d'une action Github ?

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. Deployment error

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.

1voto

riQQ Points 4188

Vous n'avez pas configuré votre serveur selon le tutoriel.

Notez que le serveur est toujours sur la branche de déploiement.

Une fois tout cela mis en place, installez votre application Laravel dans /var/www/html et vérifiez le deploy branche. Si elle n'existe pas encore, vous pouvez faire git checkout production && git checkout -b deploy pour le créer.

Vous devez l'exécuter une fois sur votre serveur et vérifier la branche deploy qui contient le script de deploy. server_deploy.sh

1voto

Vous devrez d'abord vous connecter à votre serveur et ensuite télécharger le fichier server_deploy.sh dans votre dossier racine, par exemple : /var/www/html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X