roy*_*roy 11 github-actions building-github-actions
paths: 'frontend/**'在单个存储库中,我想为不同的路径 [和]创建多个触发器,paths: 'backend/**'并为(相同的)构建作业使用不同的参数。以下是两个工作流程。
name: Trigger Jenkins Build [ Build-Portal ]
on:
push:
branches: [ develop ]
paths: 'frontend/**'
types: [closed]
jobs:
build:
name: Triggering Jenkins Build [ Build-Portal ]
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- name: Trigger Build-Portal
uses: actions/trigger-jenkins@develop
with:
...
job_name: "Build-Portal"
job_params: '{"FRESH_BUILD":"True", "UI":"True", "BUILD_BRANCH":"develop", "DEPLOY_DEV":"True"}'
...
Run Code Online (Sandbox Code Playgroud)
和
name: Trigger Jenkins Build [ Build-Portal ]
on:
push:
branches: [ develop ]
paths: 'backend/**'
types: [closed]
jobs:
build:
name: Triggering Jenkins Build [ Build-Portal ]
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- name: Trigger Build-Portal
uses: actions/trigger-jenkins@develop
with:
...
job_name: "Build-Portal"
job_params: '{"FRESH_BUILD":"True", "API":"True", "BUILD_BRANCH":"develop", "DEPLOY_DEV":"True"}'
...
Run Code Online (Sandbox Code Playgroud)
我可以将这两个文件合并到一个工作流程文件 ( .github/workflows/) 中,还是需要为每个工作流程文件提供单独的文件?
注意:job_params两个触发器都不同。
Gui*_*urd 14
根据github 操作文档,它应该使用多个路径在同一工作流程中工作。
如果您还使用paths-filter 操作,您可以通过如下方式获得您想要的结果:
例子:
name: Trigger Jenkins Build [ Build-Portal ]
on:
push:
branches: [ develop ]
paths:
- 'frontend/**'
- 'backend/**'
types: [closed]
jobs:
build:
name: Triggering Jenkins Build [ Build-Portal ]
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- uses: dorny/paths-filter@v2
id: changes
with:
filters: |
backend:
- 'backend/**'
frontend:
- 'frontend/**'
- name: Trigger Build-Portal FRONTEND
# run only if some file in 'frontend' folder was changed
if: steps.changes.outputs.frontend == 'true'
uses: actions/trigger-jenkins@develop
with:
...
job_name: "Build-Portal"
job_params: '{"FRESH_BUILD":"True", "UI":"True", "BUILD_BRANCH":"develop", "DEPLOY_DEV":"True"}'
...
- name: Trigger Build-Portal BACKEND
# run only if some file not 'backend' folder was changed
if: steps.changes.outputs.backend == 'true'
uses: actions/trigger-jenkins@develop
with:
...
job_name: "Build-Portal"
job_params: '{"FRESH_BUILD":"True", "API":"True", "BUILD_BRANCH":"develop", "DEPLOY_DEV":"True"}'
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20808 次 |
| 最近记录: |