Eine Revision CodeDeploy auf Amazon S3 übertragen (nur EC2/On-Premises-Bereitstellungen) - AWS CodeDeploy

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Eine Revision CodeDeploy auf Amazon S3 übertragen (nur EC2/On-Premises-Bereitstellungen)

Nachdem Sie Ihre Revision wie unter beschrieben geplant Planen Sie eine Überarbeitung für CodeDeploy und der Revision eine AppSpec Datei hinzugefügt haben, wie unter beschriebenHinzufügen einer Anwendungsspezifikationsdatei zu einer Revision für CodeDeploy, sind Sie bereit, die Komponentendateien zu bündeln und die Revision an Amazon S3 zu übertragen. Bei Bereitstellungen auf Amazon EC2 EC2-Instances können CodeDeploy Sie nach dem Push der Revision die Revision von Amazon S3 auf den Instances bereitstellen.

Anmerkung

CodeDeploy kann auch verwendet werden, um Versionen bereitzustellen, auf die gepusht wurde. GitHub Weitere Informationen finden Sie in Ihrer GitHub Dokumentation.

Wir nehmen an, dass Sie bereits die Anweisungen unter Erste Schritte mit CodeDeploy ausgeführt haben, um AWS CLI einzurichten. Dies ist besonders wichtig, um den später beschriebenen push-Befehl aufrufen zu können.

Stellen Sie sicher, dass Sie einen Amazon S3 S3-Bucket haben. Folgen Sie den Anweisungen unter Bucket erstellen.

Wenn Ihre Bereitstellung auf Amazon EC2 EC2-Instances erfolgt, muss der Amazon S3 S3-Ziel-Bucket erstellt worden sein oder in derselben Region wie die Ziel-Instances vorhanden sein. Wenn Sie beispielsweise eine Revision für einige Instances in der Region USA Ost (Nord-Virginia) und andere Instances in der Region USA West (Oregon) bereitstellen möchten, benötigen Sie einen Bucket in der Region USA Ost (Nord-Virginia) mit einer Kopie der Revision und einen weiteren Bucket in der Region USA West (Oregon) mit einer weiteren Kopie derselben Revision. In diesem Szenario müssten Sie dann zwei separate Bereitstellungen erstellen, eine in der Region USA Ost (Nord-Virginia) und eine weitere in der Region USA West (Oregon), obwohl die Revision in beiden Regionen und Buckets identisch ist.

Sie müssen über Berechtigungen zum Hochladen in den Amazon S3 S3-Bucket verfügen. Sie können diese Berechtigungen über eine Amazon S3 S3-Bucket-Richtlinie angeben. In der folgenden Amazon S3 S3-Bucket-Richtlinie ermöglicht die Verwendung des Platzhalterzeichens (*) dem AWS Konto 111122223333 beispielsweise das Hochladen von Dateien in ein beliebiges Verzeichnis im Amazon S3 S3-Bucket mit dem NamenDOC-EXAMPLE-BUCKET:

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Informationen zur Anzeige Ihrer AWS Konto-ID finden Sie unter Ihre AWS Konto-ID finden.

Informationen zum Generieren und Anhängen einer Amazon S3 S3-Bucket-Richtlinie finden Sie unter Beispiele für Bucket-Richtlinien.

Der Benutzer, der den push Befehl aufruft, muss mindestens berechtigt sein, die Revision in jeden Amazon S3 S3-Ziel-Bucket hochzuladen. Die folgende Richtlinie ermöglicht es dem Benutzer beispielsweise, Revisionen an einer beliebigen Stelle im Amazon S3 S3-Bucket mit dem Namen DOC-EXAMPLE-BUCKET hochzuladen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

Informationen zum Erstellen und Anhängen einer IAM-Richtlinie finden Sie unter Mit Richtlinien arbeiten.

Pushen Sie eine Revision mit dem AWS CLI

Anmerkung

Der push Befehl bündelt Anwendungsartefakte und eine AppSpec Datei zu einer Revision. Das Dateiformat dieser Revision ist eine komprimierte ZIP-Datei. Der Befehl kann nicht mit einer AWS Lambda- oder Amazon ECS-Bereitstellung verwendet werden, da beide eine Version erwarten, die eine Datei im JSON- oder YAML-Format ist. AppSpec

Rufen Sie zur Bündelung und Übertragung der Revision für eine Bereitstellung den push-Befehl auf. Die Parameter sind:

  • --application-name: (Zeichenfolge) erforderlich. Der Name der Anwendung, die der CodeDeploy Anwendungsrevision zugeordnet werden soll.

  • --s3-location: (Zeichenfolge) erforderlich. Informationen über den Speicherort der Anwendungsrevision, die auf Amazon S3 hochgeladen werden soll. Sie müssen einen Amazon S3 S3-Bucket und einen Schlüssel angeben. Der Schlüssel ist der Name der Revision. CodeDeploy komprimiert den Inhalt, bevor er hochgeladen wird. Verwenden Sie dabei das Format s3://DOC-EXAMPLE-BUCKET/your-key.zip.

  • --ignore-hidden-files oder --no-ignore-hidden-files: (boolesch) optional. Verwenden Sie das --no-ignore-hidden-files Flag (Standard), um versteckte Dateien zu bündeln und auf Amazon S3 hochzuladen. Verwenden Sie die --ignore-hidden-files Markierung, um versteckte Dateien nicht zu bündeln und auf Amazon S3 hochzuladen.

  • --source (Zeichenfolge) optional. Der Speicherort des Inhalts, der bereitgestellt werden soll, und die AppSpec Datei auf dem Entwicklungscomputer, die gezippt und auf Amazon S3 hochgeladen werden soll. Der Speicherort wird als Pfad relativ zum aktuellen Verzeichnis angegeben. Ist der relative Pfad nicht angegeben oder wird für den Pfad ein einzelner Punkt („.“) verwendet, wird das aktuelle Verzeichnis verwendet.

  • --description (Zeichenfolge) optional. Ein Kommentar, der die Anwendungsrevision zusammenfasst. Falls nicht angegeben, wird die Standardzeichenfolge „Uploaded by AWS CLI 'time' UTC“ verwendet, wobei 'time' die aktuelle Systemzeit in koordinierter Weltzeit (UTC) ist.

Sie können den verwenden AWS CLI , um eine Revision für eine Amazon EC2 EC2-Bereitstellung zu pushen. Ein Beispiel für einen Push-Befehl sieht folgendermaßen aus:

Unter Linux, macOS oder Unix:

aws deploy push \ --application-name WordPress_App \ --description "This is a revision for the application WordPress_App" \ --ignore-hidden-files \ --s3-location s3://DOC-EXAMPLE-BUCKET/WordPressApp.zip \ --source .

In Windows:

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://DOC-EXAMPLE-BUCKET/WordPressApp.zip --source .

Der Befehl hat folgende Auswirkungen:

  • Verknüpft die gebündelten Dateien mit einer Anwendung namens WordPress_App.

  • Fügt der Revision eine Beschreibung bei.

  • Ignoriert versteckte Dateien.

  • Benennt die Revision WordPressApp.zip um und überträgt sie in einen Bucket namens DOC-EXAMPLE-BUCKET.

  • Bündelt alle Dateien im Stammverzeichnis in der Revision.

Nachdem der Push erfolgreich war, können Sie die AWS CLI oder die CodeDeploy Konsole verwenden, um die Version von Amazon S3 aus bereitzustellen. Um diese Revision bereitzustellen mit AWS CLI:

Unter Linux, macOS oder Unix:

aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name your-deployment-config-name \ --deployment-group-name your-deployment-group-name \ --s3-location bucket=DOC-EXAMPLE-BUCKET,key=WordPressApp.zip,bundleType=zip

In Windows:

aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=DOC-EXAMPLE-BUCKET,key=WordPressApp.zip,bundleType=zip

Weitere Informationen finden Sie unter Erstellen Sie eine Bereitstellung mit CodeDeploy.