[JAWS-UG CLI] CodeBuild: #5 プロジェクトの削除


前提条件

CodeBuildへの権限

CodeBuildに対してフル権限があること。

AWS CLIのバージョン

以下のバージョンで動作確認済

  • AWS CLI 1.11.57
コマンド
aws --version

結果(例):

  aws-cli/1.11.70 Python/2.7.12 Linux/4.4.11-23.53.amzn1.x86_64 botocore/1.5.33

バージョンが古い場合は最新版に更新しましょう。

コマンド
sudo -H pip install -U awscli

0. 準備

まず変数の確認をします。

変数の確認
cat << ETX

        AWS_DEFAULT_PROFILE: (0.1) ${AWS_DEFAULT_PROFILE}
        AWS_DEFAULT_REGION:  (0.2) ${AWS_DEFAULT_REGION}

ETX

結果(例):

  AWS_DEFAULT_PROFILE: (0.1) <CodeBuildにフル権限のあるプロファイル>
  AWS_DEFAULT_REGION:  (0.2) ap-northeast-1

変数が入っていない、適切でない場合は、それぞれの手順番号について作業を
行います。

0.1. プロファイルの指定

プロファイルの一覧を確認します。

コマンド
cat ~/.aws/credentials \
       | grep '\[' \
       | sed 's/\[//g' | sed 's/\]//g'

結果(例):

  iamFull-prjz-mbpr13
  <CodeBuildにフル権限のあるプロファイル>
変数の設定
export AWS_DEFAULT_PROFILE='<CodeBuildにフル権限のあるプロファイル>'

0.2. リージョンの指定

変数の設定
export AWS_DEFAULT_REGION='ap-northeast-1'

最終確認

変数の確認
cat << ETX

        AWS_DEFAULT_PROFILE: (0.1) ${AWS_DEFAULT_PROFILE}
        AWS_DEFAULT_REGION:  (0.2) ${AWS_DEFAULT_REGION}

ETX

結果(例):

  AWS_DEFAULT_PROFILE: (0.1) <CodeBuildにフル権限のあるプロファイル>
  AWS_DEFAULT_REGION:  (0.2) ap-northeast-1

1. 事前作業

1.1. プロジェクト名の指定

変数の設定
CODEB_PROJECT_NAME='codebuild-demo-java-20170417'
変数の設定
ARRAY_CODEB_PROJECT_NAMES="${CODEB_PROJECT_NAME}" \
        && echo ${ARRAY_CODEB_PROJECT_NAMES}
コマンド
aws codebuild batch-get-projects \
        --names "${ARRAY_CODEB_PROJECT_NAMES}"

結果(例):

  {
      "projectsNotFound": [],
      "projects": [
          {
              "name": "codebuild-demo-java-20170417",
              "serviceRole": "arn:aws:iam::XXXXXXXXXXXX:role/hoge",
              "tags": [],
              "artifacts": {
                  "namespaceType": "NONE",
                  "packaging": "NONE",
                  "type": "S3 ",
                  "location": "artifact-20170417-XXXXXXXXXXXX",
                  "name": "codebuild-demo-java-20170417"
              },
              "lastModified": 14xxxxxxxx.000,
              "timeoutInMinutes": 60,
              "created": 14xxxxxxxx.000,
              "environment": {
                  "computeType": "BUILD_GENERAL1_SMALL",
                  "image": "aws/codebuild/java:openjdk-8",
                  "type": "LINUX_CONTAINER",
                  "environmentVariables": []
              },
              "source": {
                  "type": "S3",
                  "location": "src-20170417-XXXXXXXXXXXX/MessageUtil.zip"
              },
              "encryptionKey": "arn:aws:kms:ap-northeast-1:XXXXXXXXXXXX:alias/aws/s3",
              "arn": "arn:aws:codebuild:ap-northeast-1:XXXXXXXXXXXX:project/codebuild-demo-java-20170417",
              "description": "codebuild demo (java)"
          }
      ]
  }

2. プロジェクトの削除

変数の確認
cat << ETX

        CODEB_PROJECT_NAME: ${CODEB_PROJECT_NAME}

ETX
コマンド
aws codebuild delete-project \
        --name ${CODEB_PROJECT_NAME}

結果(例):

  (戻り値なし)

3. 事後作業

同名のプロジェクトの不存在確認します。

コマンド
aws codebuild batch-get-projects \
        --names "${ARRAY_CODEB_PROJECT_NAMES}"

結果(例):

  {
    "projectsNotFound": [
      "codebuild-demo-java-20170417"
    ],
    "projects": []
  }

完了