【问题标题】:Gitlab CI AND operator in rules规则中的Gitlab CI AND运算符
【发布时间】:2022-01-12 13:05:44
【问题描述】:

在 Gitlab CI 规则中,Gitlab 检查是否存在其中一条规则,然后选择是否添加作业。我正在检查所有条件,如果一切正常,他可以添加作业,否则他不能将其添加到管道中:

  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
    - changes:
      - filder1/*.xml

在这个例子中,我试图告诉 gitlab 仅在某些 xml 文件已更改并且有合并请求要合并到主分支时才添加作业。

【问题讨论】:

    标签: gitlab continuous-integration logic gitlab-ci


    【解决方案1】:

    您应该将这两个条件组合到一个映射中。即,删除 changes 之前的多余破折号:

      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
          changes:
            - filder1/*.xml
    

    但也请注意default actionon_success,所以你应该用never 添加另一个映射以防止作业添加:

      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
          changes:
            - filder1/*.xml
          when: on_success
        - when: never
    

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 2022-08-18
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 2021-05-18
      相关资源
      最近更新 更多