View a markdown version of this page

Référence des actions de déploiement d'Amazon S3 - AWS CodePipeline

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.

Référence des actions de déploiement d'Amazon S3

Vous utilisez une action de déploiement Amazon S3 pour déployer des fichiers vers un compartiment Amazon S3 à des fins d'hébergement ou d'archivage de sites Web statiques. Vous pouvez spécifier si vous souhaitez extraire les fichiers de déploiement avant de les charger dans votre compartiment.

Note

Cette rubrique de référence décrit l'action de déploiement d'Amazon S3 CodePipeline lorsque la plateforme de déploiement est un compartiment Amazon S3 configuré pour l'hébergement. Pour obtenir des informations de référence sur l'action source Amazon S3 dans CodePipeline, consultezRéférence des actions source d'Amazon S3.

Type d'action

  • Catégorie : Deploy

  • Propriétaire : AWS

  • Fournisseur : S3

  • Version : 1

Paramètres de configuration

BucketName

Obligatoire : oui

Nom du compartiment Amazon S3 dans lequel les fichiers doivent être déployés.

Extrait

Obligatoire : oui

Si true, indique que les fichiers doivent être extraits avant le téléchargement. Dans le cas contraire, les fichiers de l'application restent compressés pour le téléchargement, comme dans le cas d'un site Web statique hébergé. Si faux, le ObjectKey est obligatoire.

ObjectKey

Conditionnelle. Obligatoire si Extract = false

Le nom de la clé d'objet Amazon S3 qui identifie de manière unique l'objet dans le compartiment S3.

KMSEncryptionKeyARN

Obligatoire : non

L'ARN de la clé de AWS KMS chiffrement pour le compartiment hôte. Le KMSEncryptionKeyARN paramètre chiffre les artefacts téléchargés à l'aide de la valeur fournie AWS KMS key. Pour une clé KMS, vous pouvez utiliser l'ID de clé, l'ARN de clé ou l'alias ARN.

Note

Les alias sont reconnus uniquement dans le compte qui a créé la clé KMS. Pour les actions entre comptes, vous ne pouvez utiliser l'ID de clé ou l'ARN de clé que pour identifier la clé. Cross-account les actions impliquent l'utilisation du rôle de l'autre compte (AccountB). Par conséquent, la spécification de l'ID de clé utilisera la clé de l'autre compte (AccountB).

Important

CodePipeline ne prend en charge que les clés KMS symétriques. N'utilisez pas de clé KMS asymétrique pour chiffrer les données de votre compartiment S3.

CannedACL

Obligatoire : non

Le CannedACL paramètre applique l'ACL prédéfini spécifié aux objets déployés sur Amazon S3. Celle-ci remplace n'importe quelle liste ACL existante appliquée à l'objet.

CacheControl

Obligatoire : non

Le CacheControl paramètre contrôle le comportement de mise en cache requests/responses pour les objets du bucket. Pour obtenir la liste des valeurs valides, consultez le champ d'en-tête Cache-Control pour les opérations HTTP. Pour entrer plusieurs valeurs dans CacheControl, utilisez une virgule entre chaque valeur. Vous pouvez ajouter un espace après chaque virgule (facultatif), comme illustré dans cet exemple pour l'interface de ligne de commande :

"CacheControl": "public, max-age=0, no-transform"

Artefacts d'entrée

  • Nombre d'artefacts : 1

  • Description : Les fichiers à déployer ou à archiver sont obtenus à partir du référentiel source, compressés et chargés par CodePipeline.

Artefacts de sortie

  • Nombre d'objets : 0

  • Description : Les artefacts de sortie ne s'appliquent pas à ce type d'action.

Autorisations relatives aux rôles de service : action de déploiement S3

Pour la prise en charge des actions de déploiement S3, ajoutez ce qui suit à votre déclaration de politique :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:GetBucketVersioning", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::[[s3DeployBuckets]]", "arn:aws:s3:::[[s3DeployBuckets]]/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }

Pour la prise en charge de l'action de déploiement S3, si vos objets S3 comportent des balises, vous devez également ajouter les autorisations suivantes à votre déclaration de politique :

"s3:GetObjectTagging", "s3:GetObjectVersionTagging", "s3:PutObjectTagging"

Exemple de configuration d'action

Les exemples suivants illustrent la configuration des actions.

Exemple de configuration lorsque Extract est défini sur false

L'exemple suivant montre la configuration d'action par défaut lorsque l'action est créée avec le Extract champ défini surfalse.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'false' ObjectKey: MyWebsite OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "false", "ObjectKey": "MyWebsite" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Exemple de configuration lorsque Extract est défini sur true

L'exemple suivant montre la configuration d'action par défaut lorsque l'action est créée avec le Extract champ défini surtrue.

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'true' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "true" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.

  • Tutoriel : Création d'un pipeline qui utilise Amazon S3 comme fournisseur de déploiement— Ce didacticiel présente deux exemples de création d'un pipeline avec une action de déploiement S3. Vous téléchargez des exemples de fichiers, vous chargez les fichiers dans votre CodeCommit référentiel, vous créez votre compartiment S3 et vous configurez votre compartiment pour l'hébergement. Ensuite, vous utilisez la CodePipeline console pour créer votre pipeline et spécifier une configuration de déploiement Amazon S3.

  • Référence des actions source d'Amazon S3— Cette référence d'action fournit des informations de référence et des exemples pour les actions source d'Amazon S3 dans CodePipeline.