我当前正在使用分解的CircleCI配置,利用circleci config pack
命令将分解的配置转换为单个文件。
当前的文件夹结构如下:
.circleci
| @config.yml
| commands
| | some-command.yml
| executors
| | some-executor.yml
| jobs
| | some-job.yml
| workflows
| | some-workflow.yml
生成一个config.yml
文件:
version 2.0
jobs:
some-job:
steps:
- run: echo "Hello"
workflows:
some-workflow:
jobs:
- some-job:
filters:
branches:
only:
- develop
- some-job:
filters:
branches:
only:
- develop
烦人的是,在定义工作流程时,我需要在正在运行的每个作业上附加filter
。由于CircleCI不允许在工作流级别附加过滤器,因此我一直在考虑使用yaml锚来减轻痛苦。
想法是要有这样的东西:
aliases:
- only-develop: &only-develop
filters:
branches:
only:
- develop
这应该允许我这样使用它:
workflows:
some-workflow:
jobs:
- some-job:
<<: *only-develop
- some-job:
<<: *only-develop
问题是我无法使circleci配置打包工作。有人尝试过吗?如果有人设法做到这一点,我将非常感谢您提供一个指针! :) 非常感谢!
当我将别名打包到aliases
文件夹中时,实际上没有任何错误,只是它们没有出现在打包的配置中。