CodeBuild プロジェクトの一覧を取得する (codebuild list-projects)
$ aws codebuild list-projects
$ aws codebuild list-projects
projects:
- app1-codebuild
- app2-codebuild
- app3-codebuild
出力結果をソートするには、次のオプションが使用できます。
sort-by
…NAME
/CREATED_TIME
/LAST_MODIFIED_TIME
のいずれかを指定sort-order
..ASCENDING
/DESCENDING
のいずれかを指定
$ aws codebuild list-projects --sort-by CREATED_TIME --sort-order DESCENDING --max-items 5
NextToken: eyJuZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiA1fQ==
projects:
- myapp25-codebuild
- myapp24-codebuild
- myapp23-codebuild
- myapp22-codebuild
- myapp21-codebuild
NextToken
は、続きのエントリを取得したいときに、--starting-token
オプションで指定します。
AWS CLI の出力形式は、デフォルトでは ~/.aws/config
ファイルの output
プロパティで指定されている出力形式が使用されます。
明示的に出力形式を指定したい場合は、各コマンド実行時に --output yaml
や --output json
のようなオプション指定を行います。
作成したはずの CodeBuild プロジェクトがリストに出てこない場合は、CodeBuild プロジェクトの リージョン と、AWS CLI が対象としているリージョンが異なっている可能性があります。
aws configure list
コマンドで AWS CLI が使用しているリージョンを確認し、想定と違うようでしたら、下記のようにリージョンを明示してコマンドを実行してみてください。
$ aws codebuild list-projects --region ap-northeast-1
CodeBuild プロジェクトの設定を取得する (codebuild batch-get-projects)
$ aws codebuild batch-get-projects --names <プロジェクト名1> <プロジェクト名2>...
aws codebuild batch-get-projects --names app1-codebuild
projects:
- arn: arn:aws:codebuild:ap-northeast-1:123456789012:project/app1-codebuild
artifacts:
encryptionDisabled: false
location: myapp-123456789012-output-bucket
name: app1-codebuild
namespaceType: NONE
overrideArtifactName: false
packaging: NONE
path: ''
type: S3
badge:
badgeEnabled: false
cache:
type: NO_CACHE
created: '2021-03-03T22:12:32.120000+09:00'
encryptionKey: arn:aws:kms:ap-northeast-1:123456789012:alias/aws/s3
environment:
computeType: BUILD_GENERAL1_SMALL
environmentVariables: []
image: aws/codebuild/amazonlinux2-x86_64-standard:3.0
imagePullCredentialsType: CODEBUILD
privilegedMode: false
type: LINUX_CONTAINER
lastModified: '2021-03-03T22:12:32.120000+09:00'
logsConfig:
cloudWatchLogs:
status: ENABLED
s3Logs:
encryptionDisabled: false
status: DISABLED
name: app1-codebuild
queuedTimeoutInMinutes: 480
secondaryArtifacts: []
secondarySourceVersions: []
secondarySources: []
serviceRole: arn:aws:iam::123456789012:role/service-role/app1-codebuild-service-role
source:
insecureSsl: false
location: myapp-123456789012-input-bucket/app.zip
type: S3
tags:
- key: project
value: TempProject
timeoutInMinutes: 60
projectsNotFound: []
CodeBuild プロジェクトの設定を変更する (codebuild update-project)
aws codebuild batch-get-projects コマンドで取得したプロジェクトの設定情報(YAML or JSON 形式)をもとに、設定の一部を変更することができます。
まずは、元の設定情報を YAML ファイルに保存しておきます。
出力形式を --output yaml
オプションで明示しておいた方が安全かもしれません。
$ aws codebuild batch-get-projects --names app1-codebuild > projects.yml
出力結果の YAML ファイルは次のような感じになっています。
codebuild batch-get-projects
コマンドは複数のプロジェクトの情報を取得するコマンドなので、ルートプロパティとして projects
があり、そこに配列形式で各プロジェクトの情報が含まれています。
projects:
- arn: arn:aws:codebuild:ap-northeast-1:123456789012:project/app1-codebuild
artifacts:
encryptionDisabled: false
location: app1-123456789012-output-bucket
name: app1-codebuild
namespaceType: NONE
overrideArtifactName: false
packaging: NONE
path: ''
type: S3
badge:
badgeEnabled: false
...
設定の変更には、aws codebuild update-project
コマンドを使用するのですが、このコマンドは単一プロジェクトの設定更新を目的としているので、上記の YAML ファイルの構造を少し変更して、単一プロジェクトの情報だけを示す YAML ファイルに書き換えないといけません(といっても一階層減らすだけです)。
例えば、artifacts 設定(ここではバケット名)を変えるには、次のような YAML ファイルを用意します。
name: app1-codebuild
artifacts:
encryptionDisabled: false
location: app1-123456789012-output-bucket-CHANGED
name: app1-codebuild
namespaceType: NONE
overrideArtifactName: false
packaging: NONE
path: ''
type: S3
少なくとも、対象の CodeBuild プロジェクト名を示す name
プロパティと、変更対象のプロパティ(とその兄弟プロパティ)が記載されている必要があるようです。
あとは、次のように、このファイルを使って CodeBuild プロジェクトの設定を更新することができます。
$ aws codebuild update-project --cli-input-yaml file://change.yml
入力ファイルを JSON 形式で作成したいときは、--cli-input-yaml
の部分を --cli-input-json
に変更すれば読み込めます。
CodeBuild プロジェクトを削除する
aws codebuild delete-project --name <プロジェクト名>
何も削除されなかった場合もエラー表示は出ないので、実行後は aws codebuild list-projects
で消えているか確認してください。
ビルド履歴を表示する
$ aws codebuild list-builds
ids:
- build-hello:c8db24a0-9dc0-4cb3-9c47-2557502f0a59
- build-hello:de7dba14-e397-4fed-9e06-f7b98d25fb46
- build-hello:bf727395-ea1e-4266-a1d7-6217b909d729
- build-hello:67b5de96-4b4e-49ab-8eaa-c0781740597b
- build-hello:40bbb789-20b3-419b-9f41-8fd42e414a02
- build-hello:3901c823-a6a3-4d16-bff2-66b1f80a25e4
- build-hello:18a32311-de0e-4d08-b7e2-ba1ce207ff27
- build-hello:0afacf09-c930-476f-a948-f62dbc33c1d4