Экспорт существующих проектов CodePipeline / CodeBuild в Cloudformation

Есть ли способ экспортировать существующие проекты CodePipeline / CodeBuild в Cloudformation?

Я нахожусь в процессе преобразования нашей существующей инфраструктуры CI / CD в код, чтобы было легко воспроизвести их в других регионах AWS.

В настоящее время мы выполняем все наши проекты CodePipeline / CodeBuild через консоль AWS в браузере, и, очевидно, это утомительно и подвержено ошибкам.




Ответы (3)


Если у вас есть уже созданный кодовый конвейер, используйте cli, чтобы извлечь его как облачную информацию.

Команда примерно такая

aws codepipeline get-pipeline --name

Это вернет вам ресурс codepipeline для облачной информации. Вы сможете увидеть, где вам нужно ввести другие ресурсы, такие как проекты сборки кода и корзины s3 или репозитории codecommit.

Однако имейте в виду, что вам нужно будет проработать шаблон, чтобы убедиться, что он будет принят облачной информацией как действительный. Строки ресурса из cli должны начинаться с заглавных букв, поэтому это может быть утомительно.

Еще одна вещь, которую нужно знать, - это нужен конвейер, я думаю, две роли, которые вы также можете иметь в своем шаблоне, и его собственное ведро. Все это можно разместить в едином шаблоне, что сделает возможным создание воспроизводимых трубопроводов. Удачи!

person hynespm    schedule 20.12.2017
comment
Не совсем тот ответ, на который я надеялся, но это самое близкое, что я могу сделать. Спасибо. - person Noel Llevares; 04.01.2018
comment
Да, конечно, не идеально. Но как только вы сделаете это один раз, вам будет проще создавать другие конвейеры в будущем. - person hynespm; 04.01.2018
comment
он возвращается как JSON. у кого-нибудь есть быстрый хак для извлечения облачной информации YAML? - person John Vandivier; 14.02.2019
comment
Я не верю, что он возвращается таким образом, хотя вы должны проверить, возвращается ли он как JSON просто потому, что JSON установлен в качестве выходного формата профиля cli, который вы используете. Текст - это еще один формат вывода команд CLI. - person hynespm; 15.02.2019
comment
A: Я понятия не имел, что это существует. Я могу немного тебя полюбить. B: @JohnVandivier и все, кто приходит сюда и задаются вопросом, я просто использую конструктор CloudFormation. Установите формат шаблона на JSON, вставьте результаты CLI, затем установите его на YAML, и он преобразует его для вас. - person Steve; 26.04.2019
comment
это прекрасно. так просто и по делу. Вы спасли меня часами! Благодарность! - person Sebastian Serrano; 04.06.2019

И попробуйте это для проекта codebuild:

aws codebuild batch-get-projects --name --output json

Тогда вам нужен шаблон CodeBuild. Намекать:

aws помощь

or

помощь по сборке кода aws

очень хорошо вам поможет.

person Thomas Michael    schedule 25.02.2019

Обычно я предлагаю CloudFormer для создания шаблонов CloudFormation. из существующих ресурсов, но похоже, что CodePipeline / CodeBuild не поддерживаются.

Ваш следующий лучший вариант - начать с существующих шаблонов и изменить их в соответствии с вашими потребностями.

Вот некоторые примеры:

  1. https://github.com/awslabs/codepipeline-nested-cfn
  2. https://github.com/stelligent/dromedary/blob/master/pipeline/cfn/codepipeline-cfn.json
person Rodrigo M    schedule 20.12.2017
comment
Спасибо за примеры. - person Noel Llevares; 04.01.2018