首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CircleCI忽略git标记过滤器。

CircleCI忽略git标记过滤器。
EN

Stack Overflow用户
提问于 2019-11-10 20:49:10
回答 1查看 719关注 0票数 1

我想测试每个提交(工作流“测试”)。如果提交被标记并位于某个分支上,则应该触发部署(工作流“test”)。因此,我创建了以下工作流:

代码语言:javascript
复制
workflows:
  version: 2
  test:
    jobs:
      - test-py36-yml
  test-n-deploy:
    jobs:
      - test-py36-yml:
          filters:
            tags:
              only: /[0-9]+(\.[0-9]+)*/
      - test-deploy-pypi:
          requires:
            - test-py36-yml
          filters:
            tags:
              only: /[0-9]+(\.[0-9]+)*/
            branches:
              only:
                - test_deployment_pypi
                - test_deployment_script

完整的脚本可以在这里找到:https://github.com/kipoi/kipoi/blob/test_deployment_pypi/.circleci/config.yml

My的问题: CircleCI完全忽略标记过滤器。即使提交被取消标记,它也运行整个test-n-deploy工作流。

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2020-05-12 06:51:06

CircleCI过滤器不合并这两个过滤器,它就像一个“或”语句。在您的例子中,即使您已经过滤了标记,如果test-deploy-pypi将在您筛选过的一个分支中运行:test_deployment_pypitest_deployment_script,那么它也会运行。

为了使它只对标记起作用,您必须忽略这些分支:

代码语言:javascript
复制
  filters:
    branches:
      ignore: /.*/
    tags:
      only: /v[0-9]+(\.[0-9]+)*/

请注意,我还在开始时将标记筛选器更改为"v“,因为标记会自动添加它,除非您重写它。如果您确实将标记名从默认名称更改为,则将其更改为regex。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58792796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档