aws codepipline обновляет источник лямбда-функции, используя объект s3 - PullRequest
0 голосов
/ 13 января 2020

Я использую terraform для создания всей инфраструктуры (CodePipeline, lambda, buckets) на AWS

. В настоящее время я создал конвейер, который создает исходный zip-файл и помещает его в корзину s3, но лямбда все еще использует старый источник. Итак, я обновляю URL вручную в консоли AWS, и это работает. Теперь я хочу автоматизировать поток, но доступны следующие решения:

  • AWS SAM + CFT
  • Этап Codebuild для обновления источника с использованием AWS CLI
  • Создайте лямбду, которая обновляет исходный код
  • Развертывание кода + AWS SAM + CFT

Я не хочу использовать CFT вообще, так как весь наш код в terraform и CFT требует, чтобы я создал новые лямбда-выражения вместо использования старых.

существует ли какой-либо другой более простой способ обновления источника лямбда-кода через Codepipeline

1 Ответ

0 голосов
/ 16 января 2020

Предпочтительным способом развертывания Lambda через CodePipeline является использование CloudFormation Deploy [1]. Поскольку вы не планируете использовать CloudFormation, следующим вариантом может быть запуск ваших команд terraform plan / apply из задания CodeBuild, являющегося частью конвейера. Вам нужно будет предоставить роли CodeBuild необходимые разрешения для создания ресурса (или экспортировать учетные данные в переменные среды для использования TF через этот метод [2]) и установить двоичный файл TF на этапе установки buildspe c.

Ссылка:

[1] Построение конвейера непрерывной доставки для лямбда-приложения с AWS CodePipeline - https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html

[2] Как получить данные Secret Manager в buildspe c .yaml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...