Continuous integration 允许基于'if'和'changes'子句手动运行作业
对于我的一项工作,我有以下Continuous integration 允许基于'if'和'changes'子句手动运行作业,continuous-integration,gitlab,gitlab-ci,Continuous Integration,Gitlab,Gitlab Ci,对于我的一项工作,我有以下规则: rules: - if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop"' changes: - upstream/**/*.* - when: manual - allow_failure: false 当前行为如下(伪代码): 我想要的是: if (on master or develop) and
规则
:
rules:
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop"'
changes:
- upstream/**/*.*
- when: manual
- allow_failure: false
当前行为如下(伪代码):
我想要的是:
if (on master or develop) and (there are upstream changes):
permit_running_job_manually
else
dont_show_job
其中don\u show\u job
指的是首先不将作业作为管道的一部分
换句话说,我希望when:manual
与if
和changes
子句结合使用,而不是作为替代。作业可以手动运行,也可以根本不显示。它永远不应该自动运行
这可能吗?您可以在
块中使用手动块,如果块可以执行您想要的操作,我相信:
rules:
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop"'
changes:
- upstream/**/*.*
when: manual
allow_failure: false
再来一些
rules:
- if: '$CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "develop"'
changes:
- upstream/**/*.*
when: manual
allow_failure: false