Google Cloud SDK の承認
ここでは、プライマリ コンテナで Google Cloud SDK をインストールおよび承認する方法を説明します。
概要
Google Cloud SDK は、Google Cloud Platform (GCP) サービスへのアクセスに使用できる強力なツールセットであり、Google Compute Engine や Google Kubernetes Engine などが含まれます。 CircleCI では、GCP プロダクトにアプリケーションをデプロイする場合、Google Cloud SDK が推奨されます。
前提条件
- A CircleCI project.
- GCP プロジェクト
Google Cloud SDK のインストール
プライマリ コンテナでオペレーティング システムとして Debian を受け入れ可能な場合は、Google の基本 Docker イメージの使用を検討してください。 このイメージは、Docker Hub で google/cloud-sdk
として提供されています。
それ以外の場合は、基本イメージのオペレーティング システムに対応する Google Cloud SDK インストール手順に従ってください。
サービス アカウントの作成と格納
Google Cloud SDK のツールを使用する前に、gcloud
を承認する必要があります。 Google は、ユーザー アカウントとサービス アカウントの 2 種類の承認を提供しています。 ここでは CircleCI に Cloud SDK をインストールするので、サービス アカウントが適切です。
-
Google の手順の 1 ~ 3 に従ってサービス アカウントを作成します。 必ず JSON 形式のキー ファイルをダウンロードしてください。
-
CircleCI にキー ファイルをプロジェクト環境変数として追加します。 この例では、
GCLOUD_SERVICE_KEY
という変数名になっています。 同じ名前を使用する必要はありませんが、このドキュメントのサンプルでは常にこの名前を使用します。 -
便宜上、次の 2 つの環境変数を CircleCI プロジェクトに追加します。
-
GOOGLE_PROJECT_ID
: GCP プロジェクトの ID -
GOOGLE_COMPUTE_ZONE
: デフォルトの Compute Engine のゾーン
-
きめ細かい権限の追加
GCR へのコンテナ イメージのプッシュに問題が発生している場合は、デフォルトの service account
によって提供されるものよりもきめ細かい権限が必要とされている可能性があります。 権限の変更は、Cloud Storage の IAM コンソールで許可することができます。
Refer to the Cloud Storage permission documentation to learn more about Identity and Access Management (IAM) permissions.
Google Container Registry への認証
Google のパブリック イメージ (google/cloud-sdk
) を使用している場合、認証は不要です。
version: 2
jobs:
deploy:
docker:
- image: google/cloud-sdk
カスタム イメージを使用している場合は、GCR に対して認証が必要です。 Use the auth
key to specify credentials.
version: 2
jobs:
deploy:
docker:
- image: gcr.io/project/<image-name>
auth:
username: _json_key # JSON キー ファイルを使用して認証する場合のデフォルトのユーザー名
password: $GCLOUD_SERVICE_KEY # 作成した JSON サービス アカウント、base64 にエンコードしない
Note: If base64 encoding is required for your particular workflow, use the following command:
version: 2
jobs:
deploy:
docker:
- image: google/cloud-sdk
steps:
- run: |
echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=-
gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
承認
Use gcloud
to authorize the Google Cloud SDK and set several default settings. Before executing this command, make sure to write the key to a file before running this command, otherwise, the key file will be interpreted as a .p12 file.
version: 2.1
jobs:
deploy:
docker:
- image: google/cloud-sdk
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
steps:
- run: |
echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=-
gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
Note: If you are using a custom base image, ensure that you have the most recent components by adding the following command before authorizing the SDK.
sudo gcloud --quiet components update
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか?
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、サポートサイトから、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。

CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.