Adapte a amostra “Publish Docker image to AmazonECR” para enviar para o Docker Hub - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adapte a amostra “Publish Docker image to AmazonECR” para enviar para o Docker Hub

Para adaptar a amostra “Publicar imagem do Docker na AmazonECR” para que a imagem do Docker seja enviada para o Docker Hub em vez da AmazonECR, edite o código da amostra. Para obter mais informações sobre a amostra, consulte Exemplo de 'Publicar imagem do Docker em um repositório de ECR imagens da Amazon' para CodeBuild Execute a amostra “Publicar imagem do Docker na AmazonECR” e.

nota

Se você estiver usando uma versão do Docker anterior à 17.06, remova a opção --no-include-email.

  1. Substitua essas linhas de código ECR específicas da Amazon no buildspec.yml arquivo:

    ... 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 ...

    Por estas linhas de código específicas no 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. Faça o upload do código editado em um bucket de entrada do S3 ou em um AWS CodeCommit repositório do Bitbucket. GitHub

    Importante

    Não faça upload de (root directory name), apenas dos arquivos dentro de (root directory name).

    Se você estiver usando um bucket de entrada do S3, certifique-se de criar um ZIP arquivo que contenha os arquivos e, em seguida, carregue-o no bucket de entrada. Não adicione (root directory name) ao ZIP arquivo, apenas os arquivos dentro dele(root directory name).

  3. Substitua essas linhas de código da entrada JSON formatada para o create-project comando:

    ... "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" } ] ...

    Por estas linhas de código:

    ... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "your-Docker-Hub-repo-name" }, { "name": "IMAGE_TAG", "value": "latest" } ] ...
  4. Crie um ambiente de compilação, execute a compilação e visualize as informações relacionadas à compilação.

  5. Confirme se a imagem do Docker foi enviada AWS CodeBuild com sucesso para o repositório. Faça login no Docker Hub, vá até o repositório e selecione a guia Tags. A tag latest deve conter um valor Last Updated bem recente.