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
谢谢。