用于部署 Laravel 应用程序的 Github 工作流

时间:2021-04-06 09:41:44

标签: laravel github github-actions

Git\Github 初学者在这里。

经过多次谷歌搜索,我设法制作了以下 Github-action\workflow 以在实时测试服务器上部署 Laravel 应用程序。

我基本上只需要使用存储库中的最新版本更新测试实时服务器上的应用程序文件的工作流程。

代码似乎工作正常,但有几行我不完全理解。

1) Checkout 步骤(使用 actions/checkout@v2 的步骤)的目的是什么?

2) 部署脚本中“git checkout -f”的目的是什么?需要吗?

3) 有什么我遗漏的\应该添加到部署脚本中吗?

4) 我想做的另一件事是将推送到实时服务器的代码“复制”到另一个存储库分支中,以跟踪当前的内容实时服务器。我将如何在同一个动作中做到这一点? (如果这是有道理的和\或它甚至可能)

    name: DEV Deploy
    
    on:
      workflow_dispatch:
    
    jobs:
    
      deploy:
        runs-on: ubuntu-latest
    
        steps:
          - name: Checkout
            uses: actions/checkout@v2
    
          - name: Deployment
    
            uses: appleboy/ssh-action@master
    
            with:
              host: ${{ secrets.HOST }}
              username: ${{ secrets.USERNAME }}
              key: ${{ secrets.KEY }}
    
              script: |
                cd /home/app/public_html
                
                php artisan down
                
                git checkout -f
                git branch -u origin/dev
                git pull
                
                composer install --optimize-autoloader --no-dev
                
                npm install
                npm update
                npm run production
                
                php artisan cache:clear
                php artisan view:clear
                php artisan config:cache
                php artisan up

谢谢。

0 个答案:

没有答案