Gitlab CI - 如何仅在特定标签和分支上运行任务

3
当我创建一个特定分支的新标签时,如何才能使用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 

1
这个回答解决了你的问题吗?如何只在分支和标签上运行Gitlab-CI管道? - quoc9x
1个回答

0

据我所知,这是不可能的。当Pipeline运行标签时,没有定义指示分支的变量。您可以通过使用export查看所有可用变量来了解此情况。Gitlab文档

您可以尝试找到提交所在的分支。例如git branch -a --contains $CI_COMMIT_SHA或类似的方法similar。但是,您可能无法在规则中执行此操作,必须在scriptbefore_script中使用自定义逻辑停止其余脚本的运行。

希望这可以帮助您。


它不起作用。 - jake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接