Разные этапы сборки в соответствии с внешней переменной в Drone CI

#kubernetes #ansible #drone #droneci

#kubernetes #ansible #drone.io

Вопрос:

Я использую Drone CI для обработки процесса CI / CD. Я работаю над вариантом использования, в котором я беру входные переменные и запускаю разные конвейеры в соответствии с парой ключ-значение. Входные данные для конвейера развертывания.

В настоящее время в моем конвейере я использую плагин Ansible для отправки изменений в пункт назначения. Что-то вроде этого

 - name: pipeline1
  image: plugins/ansible:3
  environment:
    <<: *creds
  settings:
    playbook: .ci/.ansible/playbook.yml
    inventory: .ci/.ansible/inventory
    user: admin_user
    private_key:
      from_secret: admin_key
    become: true
    verbosity: 3
  when:
    KEY1 = True
    
- name: pipeline2
  image: plugins/ansible:3
  environment:
    <<: *creds
  settings:
    playbook: .ci/.ansible/playbook.yml
    inventory: .ci/.ansible/inventory
    user: admin_user
    private_key:
      from_secret: admin_key
    become: true
    verbosity: 3
  when:
    KEY2 = True
.
.
.
 

Как я могу развернуть такой конвейер?
when ключевое слово не имеет никакого примера в этом отношении

Ответ №1:

Согласно документации по условиям drone (https://docs.drone.io/pipeline/conditions /) вы не можете использовать среды в блоке when. Там могут использоваться только репозитории / рекламные акции.

В вашем случае вы можете попробовать использовать зависимости для шагов через параметр depends_on в parallelism (https://discourse.drone.io/t/how-to-setup-parallel-pipeline-steps-1-0/3251 )