Проблема непрерывного развертывания AWS ECS с CodePipeline - PullRequest
0 голосов
/ 21 мая 2019

При развертывании ECS с использованием кодовой линии, как указано в aws официальном документе , изображение двух докеров проталкивается в ECR. Одно изображение содержит идентификатор фиксации и последний тег, а другое изображение без тегов, как указано ниже.

enter image description here

В файле "buildspec.yml", который я вижу, Docker выдвигает два изображения: одно с "последним тегом" и другое с тегом commit id, как показано ниже

 - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
 - IMAGE_TAG=${COMMIT_HASH:=latest}
 - docker push $REPOSITORY_URI:latest
 - docker push $REPOSITORY_URI:$IMAGE_TAG

Мой вопрос

1) В ECR должно быть два изображения: одно с тегом "commit id", а другое с тегом "самый последний" после завершения нажатия докера. Но в ECR он отображается с неверным именем тега, пожалуйста, проверьте прикрепленное изображение выше. Почему одно изображение отображается с тегом без тега?

2) Почему мне нужно выдвинуть два изображения с идентификатором коммита и последним тегом, когда мое определение задачи использует только последний тег для построения контейнера. Разве мне не нужно выдвигать только изображение докера с тегом «последний», почему мне нужно выдвинуть изображение с тегом фиксации идентификатора?

1 Ответ

0 голосов
/ 06 июня 2019

Отвечая на мой собственный пост, надеюсь, кому-нибудь эта информация окажется полезной:

1) В ECR должно быть два изображения: одно с тэгом «commit id», а другое с тэгом «latest» после завершения открытия докера согласно документу aws. Но в ECR он отображается с неверным именем тега, пожалуйста, проверьте прикрепленное изображение. Почему одно изображение показывается без тега?

The reason why there is a untagged image is because when an existing image with a tag latest already exists its tag will be removed when a new image called latest is pushed to ECR, only one image will result from the 2 docker push commands, this is because they are tagged together. This helps when reviewing which latest image is in use by looking at the commit hash.

2) Почему мне нужно выдвинуть два изображения с идентификатором коммита и последним тегом, когда мое определение задачи использует только последний тег для построения контейнера. Разве мне не нужно выдвигать только изображение докера с тегом «последний», почему мне нужно выдвинуть изображение с тегом фиксации идентификатора?

Pushing the second image adds the commit hash as a tag. Overtime as more images are added to the ECR repository it helps to have the commit hash as a tag to differentiate between previous latest images especially if a particular image is needed for a rollback.

...