Jos*_*son 1 continuous-integration continuous-deployment gitlab gitlab-ci gitlab-ci-runner
我正在使用 GitLab CI/CD,并且有一个管道,其中包含来自单独配置文件的作业,该管道似乎工作正常。它看起来像这样:
.gitlab-ci.yml:
stages:
- triggers
- build
- test
- deploy
trigger_infra:
stage: triggers
trigger:
include: src/infra/.gitlab-ci.yml
rules:
- changes:
- src/infra/lib/spa-stack.ts
Run Code Online (Sandbox Code Playgroud)
src/infra/.gitlab-ci.yml:
deploy_spa:
stage: deploy
script:
- cd src/spa
Run Code Online (Sandbox Code Playgroud)
然而,我最近遇到了以下场景:
spa-stack.ts文件的代码;构建已触发并通过合并构建的错误消息是“无法创建下游管道,管道不会为选定的触发器运行。规则配置阻止将任何作业添加到管道中。”
我在这里缺少什么?下游作业没有规则配置,所以我觉得它应该总是运行,不问任何问题。
默认情况下,作业不在合并请求管道上运行。这就是为什么下游管道在合并请求时出现问题的原因。
为了确保下游管道在分支管道和合并请求管道中都能工作,您需要添加到rules:作业中(规则本身并不重要,但仅存在密钥rules:就会导致它在合并请求管道上触发) 。
deploy_spa:
stage: deploy
script:
- cd src/spa
rules:
- when: on_success
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3343 次 |
| 最近记录: |