Conseils autour de l'exemple pour publier Lambda de Java sur CodePipeline

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.

Flux global du pipeline de code

1. Étape source

Obtenez le code pour la surveillance régulière et les mises à jour du référentiel github.

2. Étape de construction

Construisez avec CodeBuild. La construction est exécutée comme décrit dans buildspec.yml.

  1. gradlew crée un fichier jar.
  2. ʻaws cloudformation package` est exécuté et le traitement suivant est exécuté.
  3. Placez le fichier jar généré dans S3 :: auto-release-sample.
  4. Un fichier modèle (packaged-minimum-lambda-java-model.yaml) est généré et placé dans le compartiment S3 créé pour le pipeline de code.

3. Phase de mise en scène

Les fonctions Lambda sont construites à partir de fichiers modèles et de fichiers jar.

  1. Extraction de la différence par rapport au résultat de l'exécution précédente. (Mode d'action: créer ou remplacer un jeu de modifications)
  2. Construisez en fait la fonction Lambda à partir de la différence. (Mode d'action: exécution du jeu de modifications)

Connaissances périphériques diverses

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.

Rôles associés

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

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

Conseils autour de l'exemple pour publier Lambda de Java sur CodePipeline
Exemple de configuration minimale pour publier automatiquement Lambda par Java avec un pipeline de code
[Java] Mémo sur la façon d'écrire la source
Ce dont les ingénieurs Java ont besoin pour se préparer à la version Java 11
[Java] Introduction à l'expression lambda
Comment changer Java à l'ère d'OpenJDK sur Mac
Entrée dans la console Java
Exemple de code pour appeler l'API Yahoo! Local Search en Java
J'ai essayé d'afficher le calendrier sur la console Eclipse en utilisant Java.
[Introduction à Java] À propos des expressions lambda
[java8] Pour comprendre l'API Stream
Java sur AWS Lambda est-il lent?
Hello World avec AWS Lambda + Java
Considération sur le framework de persistance Java 2017 (1)
Bienvenue dans le marais des bibliothèques Java! !!
Présentation des conseils Java de GreenMail à Junit5
La route de JavaScript à Java
L'origine des expressions Java lambda
Comment utiliser les expressions Java lambda
[Java] Comment récupérer les paramètres passés du html côté serveur
Comment vérifier Java installé sur Mac
Mes réflexions sur la méthode d'égalité (Java)
[Java] Comment utiliser la classe File
Référence Java à comprendre dans la figure
Introduction à Java pour la première fois # 2
Récapitulons maintenant l'expression lambda Java
J'ai essayé de résumer les expressions Java lambda
Java SE8 Silver ~ La route à franchir ~
Kick ShellScript sur le serveur depuis Java
Installez OpenJDK (Java) sur le dernier Ubuntu
À propos du nouveau modèle de version de Java @ Seki Java (20/07/2018)
[Java] Comment utiliser la méthode toString ()
Etudier comment utiliser le constructeur (java)
[Traitement × Java] Comment utiliser la boucle
Comment changer de version de Java sur Mac
[Java] Comment régler la date sur 00:00:00
[Java] Comment obtenir le répertoire actuel
Retour sur les bases de Java
[Traitement × Java] Comment utiliser la classe
Sortie du livre "Introduction à Java"
[Traitement × Java] Comment utiliser la fonction
Exécutez le code Java stocké dans le presse-papiers.
Je suis allé au Java Women's Club # 1
[Java] Colorez la sortie standard vers le terminal
[Java] Comment utiliser la classe Calendar
Exemple pour décompresser le fichier gz en Java
Pré-traitement à afficher sur le navigateur (compilateur)
Étapes pour enregistrer un fichier Java sur GitHub
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0