我想要一个需要在每个合并请求时运行的管道。我还希望能够手动运行该管道,以便可以预见合并问题。
但是,如果我将我的工作指定为
only:
- merge_requests
Run Code Online (Sandbox Code Playgroud)
当尝试手动运行管道时,我遇到了一个
管道无法运行。此管道没有阶段/作业。
如果我改用工作流程,
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
Run Code Online (Sandbox Code Playgroud)
迎接我的是不同但同等的
管道无法运行。按工作流规则过滤掉的管道。
那么,如何设置合并请求所需的管道,但也可以由用户在其功能分支上手动运行?
dan*_*elz 16
您应该使用规则而不是only/ except,因为后者将来将被弃用。
但是,您可以使用工作流并定义整个管道的创建时间,而不是配置每个作业的运行时间。
workflow在您的示例中,如果它是合并请求并且管道是在没有推送的情况下手动触发的,则以下内容将创建一个管道。
为了进一步参考,如果您将来想更改它,可以查看可能的值。CI_PIPELINE_SOURCE
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_PIPELINE_SOURCE == "web"'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24495 次 |
| 最近记录: |