Tipps rund um das Beispiel, um Lambda von Java auf CodePipeline freizugeben

TL;DR

Ich habe diesen Artikel geschrieben. Mindestkonfigurationsbeispiel, das Lambda automatisch von Java mit Codepipeline freigibt

Dies ist ein privates Memo der Informationen zu Code Pipeline, die in diesem Artikel geschrieben wurden.

Code Pipeline Gesamtfluss

1. Quellphase

Holen Sie sich den Code für die regelmäßige Überwachung und Aktualisierung des Github-Repositorys.

2. Bühne bauen

Mit CodeBuild erstellen. Der Build wird wie in buildspec.yml beschrieben ausgeführt.

  1. gradlew erstellt eine JAR-Datei.
  2. "aws cloudformation package" wird ausgeführt und die folgende Verarbeitung wird ausgeführt.
  3. Platzieren Sie die generierte JAR-Datei in "S3 :: Auto-Release-Sample".
  4. Eine Vorlagendatei (packaged-minimum-lambda-java-model.yaml) wird generiert und in den für die Code-Pipeline erstellten S3-Bucket gestellt.

3. Inszenierungsphase

Die Lambda-Funktion besteht aus der Vorlagendatei und der JAR-Datei.

  1. Extraktion der Differenz zum vorherigen Ausführungsergebnis. (Aktionsmodus: Änderungssatz erstellen oder ersetzen)
  2. Bauen Sie die Lambda-Funktion tatsächlich aus der Differenz auf. (Aktionsmodus: Ausführung des Änderungssatzes)

Verschiedenes peripheres Wissen

S3

Ein S3-Bucket wird erstellt, wenn die CodePipeline erstellt wird. Das Namensmuster ist codepipeline- <Regionsname> - <Zufallswert> Beispiel: codepipeline-ap-northeast-1- ????????????? /

Was den Inhalt betrifft, werden alle von github heruntergeladenen Dateien und die durch die Build-Ausführung generierte Vorlagendatei mit zip komprimiert und gespeichert. Bei jedem Schritt wird intern ein Ordner mit dem Namen des Eingabe- / Ausgabeartefakts erstellt.

Verwandte Rollen

Die Rolle, die CloudFormation in der Staging-Phase benötigt. Eine vom Entwickler im Voraus vorbereitete Rolle. s3: GetObject`` lambda: * cloudformation: CreateChangeSet etc.

--code-build- <Name des Build-Projekts> -service-role

Eine Rolle, mit der CodeBuild funktioniert. S3: PutObject kann zu S3 :: auto-release-sample erstellt werden. Sie können s3: PutObject`` s3: GetObject zucodepipeline-ap-northeast-1-121111111111 /ausführen.

Referenz: http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/setting-up.html?icmpid=docs_acb_console#setting-up-service-role

Die Rolle, in der AWS CodePipeline funktioniert. Wenn Sie sich den Inhalt der Richtlinie ansehen, gibt es andere Einstellungen als die Verarbeitung, die Sie dieses Mal ausführen möchten, z. B. "Code Commit", "Code Deploy", "Elastic Beanstalk", "Autoscaling". Es scheint also, dass alle typischen Einstellungen enthalten sind.

--<Stapelname> -AutoReleasedLambdaRole- <Zufallswert>

Die Rolle, wenn Lambda läuft. Wird automatisch generiert, wenn Lambda in CloudFormation erstellt wird. AutoReleasedLambdaRole ist wahrscheinlich eine feste Zeichenfolge. Der Inhalt ist mit AWSLambdaBasicExecutionRole. (Details nicht überprüft)

Wenn Sie verschiedene Rolleneinstellungen benötigen, um Lambda auszuführen, müssen Sie sich möglicherweise separat vorbereiten. (Nicht überprüft) (Vorab vorbereiten oder in der CloudFormation-Vorlage festlegen)

Recommended Posts

Tipps rund um das Beispiel, um Lambda von Java auf CodePipeline freizugeben
Mindestkonfigurationsbeispiel für die automatische Freigabe von Lambda durch Java mit Code-Pipeline
[Java] Memo zum Schreiben der Quelle
Was Java-Ingenieure benötigen, um sich auf die Java 11-Version vorzubereiten
[Java] Einführung in den Lambda-Ausdruck
So wechseln Sie Java in der OpenJDK-Ära auf dem Mac
Eingabe in die Java-Konsole
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
Ich habe versucht, den Kalender mit Java auf der Eclipse-Konsole anzuzeigen.
[Einführung in Java] Über Lambda-Ausdrücke
[java8] Um die Stream-API zu verstehen
Ist Java unter AWS Lambda langsam?
Hallo Welt mit AWS Lambda + Java
Überlegungen zum Java Persistence Framework 2017 (1)
Willkommen im Sumpf der Java-Bibliotheken! !!
Einführung in Java-Tipps GreenMail zu Junit5
Der Weg von JavaScript nach Java
Der Ursprung von Java-Lambda-Ausdrücken
Verwendung von Java-Lambda-Ausdrücken
[Java] So rufen Sie die von HTML auf der Serverseite übergebenen Parameter ab
So überprüfen Sie, ob Java auf einem Mac installiert ist
Meine Gedanken zur Equals-Methode (Java)
[Java] Verwendung der File-Klasse
Java-Referenz zum Verständnis in der Abbildung
Einführung in Java zum ersten Mal # 2
Lassen Sie uns nun den Java-Lambda-Ausdruck rekapitulieren
Ich habe versucht, Java-Lambda-Ausdrücke zusammenzufassen
Java SE8 Silber ~ Der Weg zum Pass ~
Kick ShellScript auf dem Server von Java
Installieren Sie OpenJDK (Java) auf dem neuesten Ubuntu
Über das neue Release-Modell von Java @ Seki Java (20.07.2018)
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
So wechseln Sie Java-Versionen auf dem Mac
[Java] So stellen Sie die Datums- und Uhrzeit auf 00:00:00 ein
[Java] So erhalten Sie das aktuelle Verzeichnis
Rückblick auf die Grundlagen von Java
[Verarbeitung × Java] Verwendung der Klasse
Ausgabe des Buches "Einführung in Java"
[Verarbeitung × Java] Verwendung der Funktion
Führen Sie den in der Zwischenablage gespeicherten Java-Code aus.
Ich ging zum Java Women's Club # 1
[Java] Färben Sie die Standardausgabe an das Terminal
[Java] Verwendung der Calendar-Klasse
Beispiel zum Entpacken einer gz-Datei in Java
Vorverarbeitung zur Anzeige im Browser (Compiler)
Schritte zum Registrieren einer Java-Datei auf GitHub
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0