Codepipeline: чтение данных из предыдущего шага - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь настроить тестовый конвейер. 1-й шаг - «Исходный код» с получением шаблона CF из репозитория CodeCommit. Следующая стадия - это когда шаблон выполняется в CloudFormation - Создает ELB, AS Group и запускает конфигурацию (User-data - устанавливает HTTPD, развертывает пользовательский index.html и запускает HTTPD). В разделе «Выходы» будет отображаться DNS-имя ELB ( «Значение»: {«Fn :: GetAtt»: [«elbTest», «DNSName»]} )

Теперь мне нужно прочитать это имя DNS ELB в 3-й стадии, которое будет функцией Lambda для проверки работоспособности URL. Как мне это сделать? Я не хочу жестко задавать имя DNS в поле «Параметры пользователя». Есть ли способ, которым моя вызванная лямбда-функция могла получить это значение?

1 Ответ

0 голосов
/ 08 мая 2018

Использовать выходной артефакт из действия создания / обновления CloudFormation в качестве входного артефакта для лямбда-функции. В лямбда-функции он будет присутствовать в данных события в массиве inputArtifacts как местоположение на s3 с zip-файлом. Этот zip-файл будет содержать JSON-файл с выходными данными стека (его имя можно указать в действии развертывания CloudFormation).

Для справки вы можете посмотреть здесь:

https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html

Особенно «Пример JSON-события» в первой ссылке и OutputFileName во второй.

...