В настоящее время я использую удаленную конфигурацию 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
нет, они просто не отображаются в упакованном конфиге.