Использование ямл-якорей в удаленной конфигурации CircleCI - PullRequest
0 голосов
/ 08 апреля 2020

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

...