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