Adaptez l'exemple « Publier une image Docker sur Amazon ECR » pour le transférer vers Docker Hub - AWS CodeBuild

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.

Adaptez l'exemple « Publier une image Docker sur Amazon ECR » pour le transférer vers Docker Hub

Pour adapter l'exemple « Publier une image Docker sur Amazon ECR » afin que l'image Docker soit envoyée vers Docker Hub plutôt que vers AmazonECR, modifiez le code de l'exemple. Pour plus d'informations sur l'exemple, reportez-vous aux sections Exemple « Publier une image Docker dans un référentiel d'ECRimages Amazon » pour CodeBuild etExécutez l'exemple « Publier une image Docker sur Amazon ECR ».

Note

Si vous utilisez une version de Docker antérieure à 17.06, supprimez l'option --no-include-email.

  1. Remplacez ces lignes de code ECR spécifiques à Amazon dans le buildspec.yml fichier :

    ... pre_build: commands: - echo Logging in to Amazon ECR... - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG ...

    Par ces lignes de code spécifiques à Docker Hub :

    ... pre_build: commands: - echo Logging in to Docker Hub... # Type the command to log in to your Docker Hub account here. build: commands: - echo Build started on `date` - echo Building the Docker image... - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG . - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $IMAGE_REPO_NAME:$IMAGE_TAG post_build: commands: - echo Build completed on `date` - echo Pushing the Docker image... - docker push $IMAGE_REPO_NAME:$IMAGE_TAG ...
  2. Téléchargez le code modifié dans un compartiment d'entrée S3 ou un AWS CodeCommit référentiel Bitbucket. GitHub

    Important

    Ne chargez pas (root directory name), mais seulement les fichiers à l'intérieur de (root directory name).

    Si vous utilisez un compartiment d'entrée S3, veillez à créer un ZIP fichier contenant les fichiers, puis à le télécharger dans le compartiment d'entrée. N'ajoutez rien (root directory name) au ZIP fichier, mais uniquement les fichiers qu'il contient(root directory name).

  3. Remplacez ces lignes de code depuis l'entrée JSON formatée de la create-project commande :

    ... "environmentVariables": [ { "name": "AWS_DEFAULT_REGION", "value": "region-ID" }, { "name": "AWS_ACCOUNT_ID", "value": "account-ID" }, { "name": "IMAGE_REPO_NAME", "value": "Amazon-ECR-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...

    Par ces lignes de code :

    ... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "your-Docker-Hub-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...
  4. Créez un environnement de génération, exécutez le build et consultez les informations de build associées.

  5. Vérifiez que l'image Docker a AWS CodeBuild bien été transférée vers le référentiel. Connectez-vous à Docker Hub, accédez au référentiel et choisissez l'onglet Tags. La balise latest doit comporter une valeur Last Updated très récente.