ECR に push されているイメージタグ一覧を見る

本業で ECR を使ってる時に AWS のマネージメントコンソールにアクセスすることなくイメージのタグの一覧を見たいことがあったが、 aws cli のコマンドが往々にしてわかりづらいのでそのメモ。

$ aws ecr describe-images --repository-name $REPOSITORY_NAME --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[0]' --output yaml --profile $PROFILE | tail -r -n $COUNT

# >>>
# 自分の現在のプロダクトの場合には、コミットハッシュをタグに設定している
# `$COUNT` の数だけ最新順でタグの一覧を出力する
- o28e5eu
- lx5tkt8
- a9d2l44
- fehykzm
- kbk47yo
- ua3kloi
- zj4put4
- mpy794z
- nl8m2qd
- ebab3bf
- e3d9c70
- s2s8bhg

コマンドだけでほぼほぼ理解できるような気はしつつ、1点だけ補足すると --profile $PROFILE の部分で、 設定ファイルと認証情報ファイルの設定 でも説明されている通り、以下のように設定しておくと複数の設定を切り替えることができるので便利

# ~/.aws/credentials
[dev]
aws_access_key_id = xxxx
aws_secret_access_key = xxxxx

[prd]
aws_access_key_id = xxxx
aws_secret_access_key = xxxx
# ~/.aws/config
[default]
region = ap-northeast-1

[profile dev]
region = ap-northeast-1

[profile prd]
region = ap-northeast-1