为合并请求触发的管道运行应用 GitLab CI/CD 管道更改
Posted
技术标签:
【中文标题】为合并请求触发的管道运行应用 GitLab CI/CD 管道更改【英文标题】:Apply GitLab CI/CD pipeline changes for pipeline run triggered by merge request 【发布时间】:2022-01-07 15:40:45 【问题描述】:我通过一个新项目的 repo 根目录中的 .gitlab-ci.yml 文件在 GitLab 中创建了一个新的 CD/CD 管道,其作业结构如下:
...
test:
stage: test
script:
- pip install tox flake8
- tox -e py36,flake8
# Run only for merge requests on main branch
rules:
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "main"'
...
GitLab 没有触发管道,说存储库中没有 .gitlab-ci.yml 文件。我曾假设管道更改将应用于触发的合并请求运行。我可以理解为什么在公共存储库中出于安全目的不是这种情况,但我想测试我为自托管私有 GitLab 实例创建的合并请求中的管道更改。
这可能吗?
【问题讨论】:
【参考方案1】:这是一个编程错误。我需要使用:
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
代替:
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "main"'
【讨论】:
以上是关于为合并请求触发的管道运行应用 GitLab CI/CD 管道更改的主要内容,如果未能解决你的问题,请参考以下文章
Gitlab-ci:如果 MR 存在则触发 merge_request 分离管道,如果不存在则触发源分支管道。这两条管道不应同时运行
在 GitLab Pipelines 中,有没有办法在分离合并请求时运行管道?