Closed8
aws-ecr orbを更新したらECSタスクをデプロイできなくなった話

久しぶりにCircleCIでハマったので備忘録として残しておく
TL;DR
-
circleci/aws-ecr
をv8.1.2からv9.3.4に更新したら、buildは通るもののECS taskのデプロイに失敗するようになった- 更新の経緯としてはビルドのexecutorで使っていた
aws-ecr/default
のmachine imageが廃止になったから
- 更新の経緯としてはビルドのexecutorで使っていた
-
circleci/aws-ecr
の更新に伴い、build-and-push-image
をbuild_and_push_image
に書き換え - 結果として、ビルドに使っていたexecutorを
aws-ecr/default
からubuntu-2204:2024.01.1
に変えたことで解決

考えられる原因としてはいずれかではないかと思っている
-
aws-ecr/default
(v9.3.4だとubuntu-2204:current
) とubuntu-2204:2024.01.1
に何らかの差異があってbuildしたimageでタスク起動に失敗するようになった -
build_and_push_image
のジョブで何らかの更新があり、それを指定していなかったことでbuildしたimageでタスク起動に失敗するようになった

公式ドキュメントを漁ってみたが、それらしい変更点が見つからなかった 😢

前者はあんまり考えられないかな(ubuntu-2204の中でそんな変更が発生するのかという単純な疑問)と思っているので、あるとしたら後者

aws-ecr orbのv8.1.2では build-and-push-image
ジョブのremote-docker-version
にデフォルト値があったけど、v9.3.4ではデフォルト値がなしになっているのがかなり怪しい

ecs taskのデプロイ自体はaws-ecs/update-service
でやっている
このaws-ecs
orbのversionは2.2.1(古い!)

なんかここがかなり怪しいけど答えには辿りつかないなぁ
まあ解決はしていし、結構レアケースだと思うので手が空いているときにまた調べてみる
このスクラップは2025/01/23にクローズされました