Обновление определений задач в ECS
В настоящее время я пытаюсь автоматизировать процесс сборки и развертывания с помощью CodePipeline. После того, как мой код завершит сборку в codebuild, я хочу обновить определение задачи и обновить свой сервис через aws cli через CodeBuild.
У меня проблема с обновлением сервиса, потому что я не могу отследить номер ревизии. Есть ли способ сообщить обновленной службе, чтобы использовать последнюю версию? Я знаю, что вы можете указать json, но как я могу манипулировать номером ревизии, чтобы служба указывала на правильное изображение в моем реестре?
1 ответ
Чтение немного документации API Amazon, не говорит вам, какое изображение было загружено последним. Рекомендую, чтобы в процессе выгрузки фиксируется версия, чтобы можно было установить ее в сервисе.
Я оставляю вам ответ API, когда вы перечисляете изображения.
Синтаксис ответа:
{
"imageIds": [
{
"imageDigest": "string",
"imageTag": "string"
}
],
"nextToken": "string"
}
Возможный процесс может быть:
- Получить тег вашего репо:
TAG=$(git describe --always)
- Создайте изображение с этим тегом:
docker build . -t [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
- Нажмите на изображение:
docker push [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
Обновите задачу с изображением:
Обновите сервис с задачей
Надеюсь, это поможет вам