首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CircleCI在创建标记版本时报告“无工作流”

CircleCI在创建标记版本时报告“无工作流”
EN

Stack Overflow用户
提问于 2020-12-18 10:15:21
回答 1查看 1.6K关注 0票数 2

我想要构建一个CircleCI工作流,它只在我创建一个带有标记的版本时才生成并推送到ECR。

我有以下CircleCI工作流:

代码语言:javascript
复制
workflows:
  test-build-and-push-image:
    jobs:
      - get_python_dependencies
      - unit_tests:
          requires:
            - get_python_dependencies
      - aws-ecr/build-and-push-image:
          name: build-and-push-to-ecr
          repo: ${CIRCLE_PROJECT_REPONAME}
          tag: ${CIRCLE_SHA1}
          create-repo: true
          requires:
            - unit_tests
          filters:
            tags:
              only: /.*/
            branches:
              ignore: /.*/

据我所知,build-and-push-to-ecr上的过滤器应该是指:

  • 为任何标记运行此作业。
  • 在推送到任何分支机构时,不要执行这项工作

但是,当我创建一个标记的版本时,我得到:

为什么我的过滤器不能工作?

EN

回答 1

Stack Overflow用户

发布于 2020-12-18 10:15:21

仔细阅读为git标记执行工作流下的文档可以发现一个隐藏得很好的细节:

如果作业需要任何其他作业(直接或间接),则必须使用正则表达式为这些作业指定标记筛选器。

换句话说,工作流中的每个作业都必须具有相同的过滤器,才能实现生成和推送作业。

我们可以使用DRYer锚点保留一些&

代码语言:javascript
复制
workflows:
  test-build-and-push-image:
    jobs:
      - get_python_dependencies:
          filters: &tagged
            # We only want to trigger this workflow on tags, not pushes to branches.
            branches:
              ignore: /.*/
            tags:
              # Trigger on every tag
              only: /.*/
      - unit_tests:
          requires:
            - get_python_dependencies
          <<: *tagged
      - aws-ecr/build-and-push-image:
          name: build-and-push-to-ecr
          repo: ${CIRCLE_PROJECT_REPONAME}
          tag: ${CIRCLE_SHA1}
          create-repo: true
          requires:
            - unit_tests
          <<: *tagged
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65355175

复制
相关文章

相似问题

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