Para adaptar el ejemplo de publicación de una imagen de Docker en Amazon ECR de modo que la imagen de Docker se inserte en Docker Hub en lugar de en Amazon ECR, edite el código del ejemplo. Para obtener más información sobre el ejemplo, consulte Ejemplo de publicación de una imagen de Docker en un repositorio de imágenes de Amazon ECR para CodeBuild y Ejecución del ejemplo de publicación de una imagen de Docker en Amazon ECR.
nota
Si está utilizando una versión de Docker anterior a la 17.06, quite la opción --no-include-email
.
-
Sustituya estas líneas de código específicas de Amazon ECR en el archivo
buildspec.yml
:... 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 líneas de código específicas de 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 ...
-
Cargue el código modificado en un bucket de S3 o en un repositorio de AWS CodeCommit, GitHub o Bitbucket
importante
No cargue
, solo los archivos incluidos en(root directory name)
.(root directory name)
Si utiliza un bucket de entrada de S3, no olvide crear un archivo ZIP que contenga los archivos y cárguelo en el bucket de entrada. No añada
al archivo ZIP, solo los archivos incluidos en(root directory name)
.(root directory name)
-
Sustituya estas líneas de código de la entrada con formato JSON del comando
create-project
:... "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 líneas de código:
... "environmentVariables": [ { "name": "IMAGE_REPO_NAME", "value": "
your-Docker-Hub-repo-name
" }, { "name": "IMAGE_TAG", "value": "latest" } ] ... -
Cree un entorno de compilación, ejecute la compilación y vea la información de compilación relacionada.
-
Confirme que AWS CodeBuild ha insertado correctamente la imagen de Docker en el repositorio. Inicie sesión en Docker Hub, vaya al repositorio y elija la pestaña Tags. La etiqueta
latest
debe contener un valor de Last Updated muy reciente.