【问题标题】:Combine gitlab ci rules if to only trigger a job when a push or merge is made to master branch如果仅在对 master 分支进行推送或合并时触发作业,则结合 gitlab ci 规则
【发布时间】:2021-05-05 14:07:28
【问题描述】:

我是 Gitlab-CI 的新手,如果对已定义文件夹中的文件进行了更改并且已推送到主分支或其他一些分支已合并到,我想在 Gitlab CI 中触发脚本掌握。阅读文档后,我认为这可行:

    trigger_something:
      rules:
        - changes:
          - path2importantstuff/*
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
        - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "master"'
      script:
        - curl --data-urlencode "argString=-ExecutionMode 'Real Run'" 127.0.0.1:2220/api/11/job/47c7c848/run

如果这样的条件可以组合吗?它们是否与逻辑 OR 相结合?有什么可以改进的吗?

谢谢你 - 一切顺利, 萨沙

【问题讨论】:

    标签: gitlab gitlab-ci gitlab-ci-runner


    【解决方案1】:

    我来晚了。

    但这是你的答案。

    你是对的,它们结合了逻辑 OR,而不是 AND。

    任何 IF 命中都会触发作业。

    更新:我正在处理 gitlab ci 配置,这是正确的行为,我已经测试过

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2018-05-19
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2017-04-08
    • 2017-10-25
    • 2021-12-24
    相关资源
    最近更新 更多