CodeBuild で使用中のイメージを一括で取得するワンライナー


背景

2020/05/22 に AWS から CodeBuild の古いイメージのメンテナンスが終了するというメールが来ていたため、メンテナンス終了の影響を受けるイメージを使っているか調べました。
その際に使ったコマンドのメモです。

AWS からのメールのタイトルは以下のようなものです。

AWS CodeBuild Ending Maintenance of Older Images [AWS Account: xxxxxxxxxxxx]

※ メールの内容によると、イメージ自体は引き続き使用できるものの、ビルド時のレイテンシが増加する可能性があるとのことです。おそらく、CodeBuild 側にイメージがキャッシュされなくなるのだと思います。

結論

$ aws codebuild list-projects --output text \
  | awk '{ print $2 }' \
  | xargs aws codebuild batch-get-projects --names \
  | jq -r '.projects[].environment.image'

※ ワンライナーと言いつつ改行はしています

対象のイメージが存在するかまで検索する場合

$ aws codebuild list-projects --output text \
  | awk '{ print $2 }' \
  | xargs aws codebuild batch-get-projects --names \
  | jq -r '.projects[].environment.image' \
  | grep -E '(aws/codebuild/standard:1.0|aws/codebuild/standard:2.0|aws/codebuild/amazonlinux2-x86_64-standard:1.0)'