Хотите запустить два отдельных конвейера из файла .gitlab-ci.yml для двух отдельных веток для развертывания в двух отдельных aws учетных записях - PullRequest
0 голосов
/ 16 июня 2020

У меня весь конвейер против aws «А» счета для всех веток. Теперь я хочу запустить конвейер для учетных записей aws «B» только против основной ветви, а остальная часть конвейера ветвлений вызовет учетную запись aws «A». Пожалуйста, расскажите мне, как настроить конвейер для запуска команд aws "cli" для двух учетных записей из одного файла .gitlab-ci.yml. Просто хочу разместить некоторые файлы в s3 через команды cli "aws s3".

С уважением, Aniket

1 Ответ

0 голосов
/ 16 июня 2020

Включите only:refs и except:refs внутри .gitlab-ci.yml:

job_for_master_only:
  only:
    refs:
      - master
  script:
      - command_for_B_account

job_for_other_branches:
  except:
    refs:
      - master
  script:
      - command_for_A_account

Ссылка: https://docs.gitlab.com/ee/ci/yaml/#onlyrefsexceptrefs

Редактировать после комментария

Если команды совпадают только с разными конфигурациями, то вы можете использовать шаблон задания. Шаблон вакансии должен иметь имя, начинающееся с символа ".". Используйте ключевое слово extends, чтобы использовать шаблон:

.job_template:
  script:
    - some_command_that_use_environment_variable_ACCOUNT_ID

job_for_master_only:
  extends:
    - .job_template
  only:
    refs:
      - master
  variables:
    ACCOUNT_ID: B

job_for_other_branches:
  extends:
    - .job_template
  except:
    refs:
      - master
  variables:
    ACCOUNT_ID: A

Ссылка: https://docs.gitlab.com/ee/ci/yaml/#extends

...