Laravel 使用Github操作,如何构建准备部署的资产?
我有一个Laravel应用程序,一切都是标准的,作为我部署过程的一部分,我需要运行Laravel 使用Github操作,如何构建准备部署的资产?,laravel,continuous-integration,yaml,github-actions,Laravel,Continuous Integration,Yaml,Github Actions,我有一个Laravel应用程序,一切都是标准的,作为我部署过程的一部分,我需要运行npm运行生产来构建资产。我希望这是我的CI/CD的一部分,我正在使用GitHub操作 我的行动如下: name: Laravel on: push: branches: [ master ] pull_request: branches: [ master ] jobs: laravel-tests: runs-on: ubuntu-latest steps:
npm运行生产来构建资产。我希望这是我的CI/CD的一部分,我正在使用GitHub操作
我的行动如下:
name: Laravel
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
laravel-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Create Database
run: |
mkdir -p database
touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_CONNECTION: sqlite
DB_DATABASE: database/database.sqlite
run: vendor/bin/phpunit
- uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Compile assets
run: |
npm install
npm run production
- name: Deploy to Laravel Forge
run: curl ${{ secrets.FORGE_DEPLOYMENT_WEBHOOK }}
这个很好。然而,我相信这些资产正在虚拟机中编译。一旦一切都通过了,我点击了Laravel Forge的部署挂钩,我的项目就被部署了。部署由Forge进行,SSH进入机箱,git拉动,运行artisan命令。生产编译的资产不在回购协议中,它们卡在虚拟机中,一旦运行就会消失
如何将构建在GitHub Actions VM上的资产放入Forge部署中?我能想到的唯一方法是通过git将它们添加到VM中,但这会触发另一次操作运行,因此这不是最好的方法。如果使用默认的GITHUB\u令牌,您可以从操作中推送而不触发另一个操作
当您使用存储库的GITHUB\u令牌
代表GITHUB操作应用程序执行任务时,GITHUB\u令牌
触发的事件将不会创建新的工作流运行。这样可以防止意外创建递归工作流运行。例如,如果工作流运行使用存储库的GITHUB\u令牌
推送代码,则即使存储库包含配置为在推送事件发生时运行的工作流,新工作流也不会运行
(来源:)如果您使用的是默认的GITHUB\u令牌,则可以从您的操作中推送而不触发另一个操作
当您使用存储库的GITHUB\u令牌
代表GITHUB操作应用程序执行任务时,GITHUB\u令牌
触发的事件将不会创建新的工作流运行。这样可以防止意外创建递归工作流运行。例如,如果工作流运行使用存储库的GITHUB\u令牌
推送代码,则即使存储库包含配置为在推送事件发生时运行的工作流,新工作流也不会运行
(来源:)你明白了吗?你明白了吗?