Transférer une révision CodeDeploy pour Amazon S3 (EC2déploiements /On-Premises uniquement) - AWS CodeDeploy

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transférer une révision CodeDeploy pour Amazon S3 (EC2déploiements /On-Premises uniquement)

Après avoir planifié votre révision comme décrit dans Planifier une révision pour CodeDeploy et ajouté un AppSpec fichier à la révision comme décrit dansAjouter un fichier de spécification d'application à une révision pour CodeDeploy, vous êtes prêt à regrouper les fichiers des composants et à transférer la révision vers Amazon S3. Pour les déploiements sur des EC2 instances Amazon, une fois que vous avez envoyé la révision, vous pouvez l'utiliser CodeDeploy pour déployer la révision depuis Amazon S3 vers les instances.

Note

CodeDeploy peut également être utilisé pour déployer des révisions qui ont été transférées vers GitHub. Pour plus d'informations, consultez votre GitHub documentation.

Nous supposons que vous avez déjà suivi les instructions de la rubrique Commencer avec CodeDeploy pour configurer l'interface AWS CLI. Cela est particulièrement important pour l'appel de la commande push décrite plus tard.

Assurez-vous de disposer d'un compartiment Amazon S3. Suivez les instructions de la section Créer un bucket.

Si votre déploiement concerne des EC2 instances Amazon, le compartiment Amazon S3 cible doit être créé ou exister dans la même région que les instances cibles. Par exemple, si vous souhaitez déployer une révision sur certaines instances de la région USA Est (Virginie du Nord) et sur d'autres instances de la région USA Ouest (Oregon), vous devez avoir un bucket dans la région USA Est (Virginie du Nord) avec une copie de la révision et un autre bucket dans la région USA Ouest (Oregon) avec une autre copie de la même révision. Dans ce scénario, vous devrez ensuite créer deux déploiements distincts, l'un dans la région USA Est (Virginie du Nord) et l'autre dans la région USA Ouest (Oregon), même si la révision est la même dans les deux régions et dans les compartiments.

Vous devez disposer des autorisations nécessaires pour effectuer le téléchargement dans le compartiment Amazon S3. Vous pouvez spécifier ces autorisations par le biais d'une politique de compartiment Amazon S3. Par exemple, dans la politique de compartiment Amazon S3 suivante, l'utilisation du caractère générique (*) permet 111122223333 au AWS compte de télécharger des fichiers dans n'importe quel répertoire du compartiment Amazon S3 nommé amzn-s3-demo-bucket :

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Pour consulter l'identifiant de votre AWS compte, consultez la section Trouver votre identifiant de AWS compte.

Pour savoir comment générer et associer une politique de compartiment Amazon S3, consultez les exemples de politique de compartiment.

L'utilisateur qui appelle la push commande doit disposer, au minimum, des autorisations nécessaires pour télécharger la révision dans chaque compartiment Amazon S3 cible. Par exemple, la politique suivante permet à l'utilisateur de télécharger des révisions n'importe où dans le compartiment Amazon S3 nommé amzn-s3-demo-bucket :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Pour savoir comment créer et associer une IAM politique, consultez la section Utilisation des politiques.

Envoyez une révision à l'aide du AWS CLI

Note

La push commande regroupe les artefacts de l'application et un AppSpec fichier dans une révision. Le format de fichier de cette révision est un ZIP fichier compressé. La commande ne peut pas être utilisée avec un ECS déploiement AWS Lambda ou Amazon car chacun attend une révision sous forme de fichier formaté ou JSON formaté. YAML AppSpec

Appelez la commande push pour grouper et transmettre la révision en mode push pour un déploiement. Ses paramètres sont les suivants :

  • --application-name : (chaîne) obligatoire. Nom de l' CodeDeployapplication à associer à la révision de l'application.

  • --s3-location : (chaîne) obligatoire. Informations sur l'emplacement de la révision de l'application à télécharger sur Amazon S3. Vous devez spécifier un compartiment Amazon S3 et une clé. La clé est le nom de la révision. CodeDeploy compresse le contenu avant qu'il ne soit chargé. Utilisez le format s3://amzn-s3-demo-bucket/your-key.zip.

  • --ignore-hidden-files ou --no-ignore-hidden-files : (booléen) facultatif. Utilisez l'--no-ignore-hidden-filesindicateur (par défaut) pour regrouper et télécharger des fichiers cachés sur Amazon S3. Utilisez l'--ignore-hidden-filesindicateur pour ne pas regrouper et télécharger des fichiers cachés sur Amazon S3.

  • --source (chaîne) facultatif. Emplacement du contenu à déployer et du AppSpec fichier sur la machine de développement à compresser et à télécharger sur Amazon S3. L'emplacement est spécifié en tant que chemin d'accès relatif par rapport au répertoire actuel. Si le chemin d'accès relatif n'est pas spécifié ou si un seul point est utilisé pour le chemin (« . »), le répertoire actuel est utilisé.

  • --description (chaîne) facultatif. Commentaire qui résume la révision d'application. Si elle n'est pas spécifiée, la chaîne par défaut « Uploaded by AWS CLI 'time' UTC » est utilisée, où 'time' est l'heure système actuelle en temps universel coordonné (UTC).

Vous pouvez utiliser le AWS CLI pour envoyer une révision pour un EC2 déploiement Amazon. Un exemple de commande push se présente sous la forme suivante :

Sous Linux, macOS ou Unix :

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

Dans Windows :

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

Cette commande exécute les opérations suivantes :

  • Elle associe les fichiers groupés à une application nommée WordPress_App.

  • Elle attache une description à la révision.

  • Elle ignore les fichiers masqués.

  • Elle attribue un nom à la révision WordPressApp.zip et transmet celle-ci en mode push à un compartiment nommé amzn-s3-demo-bucket.

  • Elle groupe tous les fichiers dans le répertoire racine dans la révision.

Une fois le push réussi, vous pouvez utiliser la console AWS CLI ou la CodeDeploy console pour déployer la révision depuis Amazon S3. Pour déployer cette révision avec AWS CLI :

Sous Linux, macOS ou 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=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip

Dans 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=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip

Pour de plus amples informations, veuillez consulter Créez un déploiement avec CodeDeploy.