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.
Holen Sie sich den Code für die regelmäßige Überwachung und Aktualisierung des Github-Repositorys.
Mit CodeBuild erstellen. Der Build wird wie in buildspec.yml beschrieben ausgeführt.
gradlew erstellt eine JAR-Datei.packaged-minimum-lambda-java-model.yaml) wird generiert und in den für die Code-Pipeline erstellten S3-Bucket gestellt.Die Lambda-Funktion besteht aus der Vorlagendatei und der JAR-Datei.
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.
cloudformation-lambda-execution-roleDie 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
AWS-CodePipeline-ServiceDie 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