Как развернуть приложение laravel с помощью действия github - PullRequest
1 голос
/ 14 июля 2020

Я пытаюсь развернуть свое приложение laravel на моем сервере, используя действия Github для сборки и тестирования, а затем развернуть через s sh.

У меня есть главный репозиторий, который я использую для разработки, а затем У меня есть производственное репо, прикрепленное к скрипту действий.

Я пробовал следовать этому руководству для развертывания действий github.

Моя сборка работает нормально, но во время развертывания он не может найти мой сценарий развертывания, то есть server_deploy. sh

вот мой файл 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'

и вот мой 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!"

Однако, когда я выполняю этот рабочий процесс, он не может найти файл server_deploy. sh. Ошибка развертывания

Я попробовал ls проверить, проверяется ли даже мое репо, но это не так.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 15 июля 2020

Вы не настроили свой сервер в соответствии с руководством

Обратите внимание, что сервер всегда находится в ветке развертывания.

Со всем этим набором вверх, установите приложение Laravel в /var/www/html и проверьте ветку deploy. Если он еще не существует, вы можете сделать git checkout production && git checkout -b deploy, чтобы создать его.

Вы должны запустить это один раз на своем сервере и проверить ветку развертывания, содержащую сценарий развертывания server_deploy.sh

...