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-role
Le 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-Service
Le 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