Gitlab CI - 仅使用标签和特定分支运行任务

问题描述 投票:0回答:1

如何仅当我使用特定分支创建新标签时才能开始使用 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 
gitlab gitlab-ci
1个回答
0
投票

据我所知这是不可能的。当管道为标签运行时,没有定义指示分支的变量。您可以通过使用

export
查看所有可用变量来亲自看到这一点。 Gitlab 文档

您也许可以尝试找到提交所在的分支。类似

git branch -a --contains $CI_COMMIT_SHA
或类似的东西。但是,您可能无法在规则中执行此操作,而必须在 script
 中执行此操作,或者在 
before_script
 中使用自定义逻辑来停止脚本的其余部分运行。

© www.soinside.com 2019 - 2024. All rights reserved.