TL;DR
J'ai écrit cet article. Exemple de configuration minimale qui libère automatiquement Lambda by Java avec Codepipeline
Il s'agit d'un mémo privé des informations sur Code Pipeline écrites dans cet article.
Obtenez le code pour la surveillance régulière et les mises à jour du référentiel github.
Construisez avec CodeBuild. La construction est exécutée comme décrit dans buildspec.yml.
gradlew crée un fichier jar.S3 :: auto-release-sample.packaged-minimum-lambda-java-model.yaml) est généré et placé dans le compartiment S3 créé pour le pipeline de code.Les fonctions Lambda sont construites à partir de fichiers modèles et de fichiers jar.
S3
Un compartiment S3 est créé lors de la création de CodePipeline. Le modèle de dénomination est
codepipeline- <nom de la région> - <valeur aléatoire>
Exemple: codepipeline-ap-Nordest-1- ????????????? /
En ce qui concerne le contenu, tous les fichiers téléchargés depuis github et le fichier modèle généré par l'exécution de la construction sont compressés avec zip et enregistrés. Un dossier est créé en interne avec le nom de l'artefact d'entrée / sortie à chaque étape.
cloudformation-lambda-execution-roleLe rôle de CloudFormation pour fonctionner dans la phase de préparation. Un rôle préparé par le développeur à l'avance. s3: GetObject`` lambda: * cloudformation: CreateChangeSet etc.
--code-build- <nom du projet de construction> -service-role
Un rôle qui permet à CodeBuild de fonctionner. S3: PutObject peut être créé dans S3 :: auto-release-sample. Vous pouvez faire s3: PutObject`` s3: GetObject surcodepipeline-ap-northeast-1-121111111111 /.
référence: http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/setting-up.html?icmpid=docs_acb_console#setting-up-service-role
AWS-CodePipeline-ServiceLe rôle d'AWS CodePipeline pour fonctionner. En regardant le contenu de la politique, il y a des paramètres autres que le traitement que vous voulez faire cette fois, tels que code commit, code deploy ʻelasticbeanstalk, ʻautoscaling, donc il semble que tous les paramètres typiques soient inclus.
--<Nom de la pile> -AutoReleasedLambdaRole- <Valeur aléatoire>
Le rôle lors de l'exécution de Lambda. Généré automatiquement lors de la création de Lambda dans CloudFormation. ʻAutoReleasedLambdaRole est probablement une chaîne fixe.  Le contenu est celui avec ʻAWS LambdaBasicExecutionRole. (Détails non vérifiés)
Si vous avez besoin de divers paramètres de rôle pour exécuter Lambda, vous devrez peut-être vous préparer séparément. (Non vérifié) (Préparer à l'avance ou définir dans le modèle CloudFormation)
Recommended Posts