gpt4 book ai didi

laravel - 使用 Github Actions,我如何构建准备好部署的 Assets ?

转载 作者:行者123 更新时间:2023-12-05 07:07:16 26 4
gpt4 key购买 nike

我有一个 Laravel 应用程序,一切都是标准的,作为部署过程的一部分,我需要运行 npm run production 来构建 Assets 。我希望将其作为我的 CI/CD 的一部分,为此我正在使用 GitHub Actions。

我的Actions YML如下:

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 }}

这运行良好。但是我相信 Assets 是在虚拟机中编译的。一切都通过后,我点击了 Laravel Forge 的部署 Hook ,我的项目就部署好了。部署由 Forge 进行,SSH 进入盒子,git 拉取,运行 artisan 命令。生产编译 Assets 不在 repo 中,它们卡在 VM 中,运行后消失。

如何将构建在 GitHub Actions VM 上的 Assets 放入 Forge 部署中?我能想到的唯一方法是通过 VM 中的 git 添加它们,但这会触发另一次操作运行,所以这不是最好的方法。

最佳答案

如果您使用默认的 GITHUB_TOKEN,您可以从您的操作推送而不触发另一个操作。

When you use the repository's GITHUB_TOKEN to perform tasks on behalf of the GitHub Actions app, events triggered by the GITHUB_TOKEN will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.

(来源:https://help.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token)

关于laravel - 使用 Github Actions,我如何构建准备好部署的 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62217374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com