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-role
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
AWS-CodePipeline-Service
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