[小ネタ] 1行でAWS CodeBuildのプロジェクト一覧を列挙し、各プロジェクトで使用されるイメージを出力してみた。
福岡オフィスの梶原です。AWS CodeBuildを長くつかっているといつの間にか使用しているイメージが古くなって、yum update が失敗することとかないですか?
私はまさに今遭遇しています。(bintrayのサービス終了に伴ってアップデートできない状況だったりします)
あまり脈略もないですが、本日はクラスメソッド創立記念日ということで、せっかくなので使っているCodeBuildのイメージを棚卸したいと思います。
実は、公式ドキュメントにも同様のシェルスクリプトが載っていますが、自分の環境だとシステムパラメータと処理が重複してしまい。うまく取得できなかったので、せっかくなので、1行で取得できるようにしました。
ということで、出落ちですが、さくっとCodeBuildのイメージの一覧が欲しい人は以下を実施してください
CodeBuildのイメージの一覧取得コマンド
1ライナーで
aws codebuild list-projects | jq '.projects[]' | xargs -I{} aws codebuild batch-get-projects --names {} | jq '.projects[] | .name + " : " + .environment.image'
出力イメージ
"apt-update-test : aws/codebuild/standard:1.0" "cache-test : aws/codebuild/amazonlinux2-x86_64-standard:2.0"
処理詳細
1ライナーではないかもしれませんが、行継続で見やすくしてみました。
aws codebuild list-projects \ | jq '.projects[]' \ | xargs -I{} aws codebuild batch-get-projects --names {} \ | jq '.projects[] | .name + " : " + .environment.image'
codebuild list-projects
で一覧を取得しますjq
コマンドでproject名を抽出しますxargs
を使用して、batch-get-projects
に渡しますjq
コマンドで見やすく整形します。
これを機に、使用しているイメージを刷新しようと思います。 AWS CLI では一覧取得したIDなどで、詳細情報を取得することがちょくちょくあるので、備忘録としても残しておきたいと思います。
参考情報
ビルドプロジェクトの詳細を表示する (AWS CLI) https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/view-project-details.html#view-project-details-cli
list-projects — AWS CLI 1.19.105 Command Reference https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-projects.html
[小ネタ]CodeBuild(Ubuntuベース)でYarn PackagingのGPG errorが発生した場合の一時回避方法