github-actions - 为什么两个 github 工作流在配置为仅在各自的分支上运行时都在运行?
问题描述
我有两个工作流程,develop.yml
并且production.yml
.
开发配置为在以下位置运行develop
:
name: Develop
on:
push:
workflow_dispatch:
branches:
- develop
jobs:
perform-linting:
runs-on: windows-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: "14.x"
- name: Install base dependencies
run: npm install
- name: Bootstrap
run: lerna bootstrap
- name: Run ESLint
run: lerna run lint
并且生产配置为在以下位置运行master
:
name: Production
on:
push:
workflow_dispatch:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repo code
uses: actions/checkout@v2
- name: Deploy to Heroku
uses: akhileshns/heroku-deploy@v3.12.12
with:
heroku_api_key: ${{secrets.HEROKU_API_KEY}}
heroku_app_name: ${{secrets.HEROKU_APP_NAME}}
heroku_email: ${{secrets.HEROKU_EMAIL}}
但是,将更改推送到develop
或master
将触发这两个工作流运行:
在上述场景中,为什么我只推送开发时正在运行生产?
解决方案
您的配置有效地表示“在所有推送上运行,只允许在特定分支上手动调度”(尽管后者似乎不是一个选项)。
你可能的意思是:
开发.yml
name: Develop
on:
push:
branches:
- develop
workflow_dispatch:
生产.yml
name: Production
on:
push:
branches:
- master
workflow_dispatch:
推荐阅读
- python - Python:pivot_table 和 groupby 得到完全相反的结果
- java - 在 Ubuntu 中构建 APK 反应本机应用程序的问题
- elixir - 修改连接表以引用不同的表并重命名
- node.js - Mongoose如何更新子文档字段?
- arduino - Adafruit:Circuit Playground - 在 Tap 事件后使用延迟获取加速度计数据
- python - Python exe 运行时错误:致命 Python 错误:Py_Initialize:无法获取语言环境
- android - 如何添加图像,string.xml 之间的链接
- javascript - ng-init 中的特殊字符:错误:$parse:Lexer 错误:意外的下一个字符,AngularJS
- javascript - Select2 无法选择选项
- haskell - 定义类型同义词 (GHC) 的类型同义词时出现奇怪错误