为合并请求触发的管道运行应用 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 管道更改的主要内容,如果未能解决你的问题,请参考以下文章