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.
ECRBuildAndPublishcréer une référence d'action
Cette action de génération vous permet d'automatiser la création et la diffusion d'une nouvelle image lorsqu'une modification se produit dans votre source. Cette action est créée en fonction d'un emplacement Dockerfile spécifié et pousse l'image. Cette action de génération est différente de l'action source Amazon ECR dans CodePipeline, qui déclenche le pipeline lorsqu'une modification survient dans votre référentiel source Amazon ECR. Pour plus d'informations sur cette action, consultezRéférence des actions source Amazon ECR.
Il ne s'agit pas d'une action source qui déclenchera le pipeline. Cette action crée une image et l'envoie vers votre référentiel d'images Amazon ECR.
Vous devez déjà avoir créé un référentiel Amazon ECR et avoir ajouté un Dockerfile à votre référentiel de code source, par exemple GitHub, avant d'ajouter l'action à votre pipeline.
Important
Cette action utilise le CodeBuild calcul CodePipeline géré pour exécuter des commandes dans un environnement de génération. L'exécution de l'action des commandes entraînera des frais distincts dans AWS CodeBuild.
Note
Cette action n'est disponible que pour les pipelines de type V2.
Rubriques
Type d'action
-
Catégorie :
Build -
Propriétaire :
AWS -
Fournisseur :
ECRBuildAndPublish -
Version :
1
Paramètres de configuration
- ECRRepositoryName
-
Obligatoire : oui
Le nom du référentiel Amazon ECR dans lequel l'image est envoyée.
- DockerFilePath
-
Obligatoire : non
Emplacement du Dockerfile utilisé pour créer l'image. Vous pouvez éventuellement fournir un autre emplacement Dockerfile s'il ne se trouve pas au niveau de la racine.
Note
Si aucune valeur pour n'
DockerFilePathest spécifiée, la valeur par défaut est le niveau racine du référentiel source. - ImageTags
-
Obligatoire : non
Les balises utilisées pour l'image. Vous pouvez saisir plusieurs balises sous la forme d'une liste de chaînes délimitée par des virgules.
Note
Si aucune valeur n'est spécifiée pour
ImageTags, la valeur par défaut estlatest. - RegistryType
-
Obligatoire : non
Spécifie si le référentiel est public ou privé. Les valeurs valides sont
private | public.Note
Si aucune valeur n'est spécifiée pour
RegistryType, la valeur par défaut estprivate.
Artefacts d'entrée
-
Nombre d'objets :
1 -
Description : artefact produit par l'action source qui contient le Dockerfile nécessaire à la création de l'image.
Artefacts de sortie
-
Nombre d'objets :
0
Variables de sortie
Lorsque cette action est configurée, elle produit des variables qui peuvent être référencées par la configuration d'action d'une action en aval dans le pipeline. Cette action produit des variables qui peuvent être visualisées en tant que variables de sortie, même si l'action n'a pas d'espace de noms. Vous configurez une action avec un espace de noms pour rendre ces variables disponibles pour la configuration des actions en aval.
Pour de plus amples informations, veuillez consulter Référence des variables.
- ECRImageDigestId
-
Hachage
sha256du manifeste de l'image. - ECRRepositoryName
-
Nom du référentiel Amazon ECR dans lequel l'image a été envoyée.
Autorisations relatives aux rôles de service : ECRBuildAndPublish action
Pour l'aide à l'ECRBuildAndPublishaction, ajoutez ce qui suit à votre déclaration de politique :
{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "PrivateECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }
En outre, si ce n'est pas déjà fait pour l'Commandsaction, ajoutez les autorisations suivantes à votre rôle de service afin d'afficher CloudWatch les journaux.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "resource_ARN" },
Note
Réduisez les autorisations au niveau des ressources du pipeline en utilisant des autorisations basées sur les ressources dans la déclaration de politique des rôles de service.
Pour plus d'informations sur cette action, consultezECRBuildAndPublishcréer une référence d'action.
Déclaration d'action
Consultez aussi
Les ressources connexes suivantes peuvent s'avérer utiles dans le cadre de l'utilisation de cette action.
-
Tutoriel : Créez et transférez une image Docker vers Amazon ECR avec CodePipeline (type V2)— Ce didacticiel fournit un exemple de Dockerfile et des instructions pour créer un pipeline qui transmet votre image vers ECR lors d'une modification de votre référentiel source, puis la déploie sur Amazon ECS.