如何仅当我使用特定分支创建新标签时才能开始使用 gitlab-ci 工作? 我尝试了一切,但仍然不起作用。
stages:
- shov server
test:
stage: shov server
rules:
- if: '$CI_COMMIT_TAG && $CI_COMMIT_BRANCH == "CI_merge"'
when: always
tags:
- runner
script:
- docker-compose -f docker-compose.yml down
- docker-compose -f docker-compose.yml build
- docker-compose -f docker-compose.yml up -d
据我所知这是不可能的。当管道为标签运行时,没有定义指示分支的变量。您可以通过使用
export
查看所有可用变量来亲自看到这一点。 Gitlab 文档
您也许可以尝试找到提交所在的分支。类似
git branch -a --contains $CI_COMMIT_SHA
或类似的东西。但是,您可能无法在规则中执行此操作,而必须在 script
中执行此操作,或者在
before_script
中使用自定义逻辑来停止脚本的其余部分运行。