Cloud Build は、Google Cloud 上でビルドを実行するサービスです。
Cloud Build は、さまざまなリポジトリやクラウド ストレージ スペースからソースコードをインポートし、仕様に合わせてビルドを実行し、Docker コンテナや Java アーカイブなどのアーティファクトを生成できます。
ビルド構成とビルドステップ
ビルド構成を作成して、実行するタスクを Cloud Build に指示できます。依存関係をフェッチして、単体テスト、静的分析、結合テストを実行し、docker、gradle、maven、bazel、gulp などのビルドツールでアーティファクトを作成するようにビルドを構成できます。
Cloud Build は、一連のビルドステップとしてビルドを実行します。各ビルドステップは、Docker コンテナで実行されます。ビルドステップの実行は、スクリプトでコマンドを実行する場合と似ています。
Cloud Build や Cloud Build コミュニティで提供されているビルドステップを使用することも、独自のカスタム ビルドステップを作成することもできます。
Cloud Build が提供するビルドステップ: Cloud Build では、一般的な言語とタスク用にサポート対象のオープンソース ビルドステップが用意されています。
コミュニティ提供のビルドステップ: Cloud Build のユーザー コミュニティで、オープンソースのビルドステップが提供されています。
カスタム ビルドステップ: ビルドで使用する独自のビルドステップを作成できます。
各ビルドステップは、ローカルの Docker ネットワーク cloudbuild
に接続しているコンテナで実行されます。これにより、ビルドステップが相互に通信を行い、データを共有できます。
Cloud Build では、Ubuntu や Gradle などの標準の Docker Hub イメージを使用できます。
ビルドの開始
Google Cloud CLI や Cloud Build API を使用して Cloud Build で手動でビルドを開始できます。また、Cloud Build のビルドトリガー機能を使用して、コードの変更に応じて新しいビルドを開始する継続的インテグレーション / 継続的デリバリー(CI / CD)ワークフローを自動化することもできます。
Cloud Source Repositories、GitHub、Bitbucket など、多数のコード リポジトリとビルドトリガーを統合できます。
ビルド結果の表示
ビルドの結果を表示するには、gcloud CLI ツールまたは Cloud Build API を使用するか、Cloud Console の Cloud Build セクションで [ビルド履歴] ページを使用します。このページには、Cloud Build が実行したすべてのビルドについての詳細とログが表示されます。手順については、ビルド結果の表示をご覧ください。
ビルドの仕組み
次の手順では、一般的な Cloud Build ビルドのライフサイクルについて説明します。
- アプリケーション コードと必要なアセットを準備します。
- Cloud Build の命令が含まれる YAML または JSON 形式のビルド構成ファイルを作成します。
- Cloud Build にビルドを送信します。
- Cloud Build は提供されたビルド構成に基づいてビルドを実行します。
- 該当する場合、ビルドされたアーティファクトは Artifact Registry に push されます。
Docker
Cloud Build は、Docker を使用してビルドを実行します。ビルドステップごとに、Cloud Build は docker run
のインスタンスとして Docker コンテナを実行します。現在、Cloud Build は Docker エンジン バージョン 19.03.8 を実行しています。
Cloud Build のインターフェース
Cloud Build は、Google Cloud Console、gcloud
コマンドライン ツール、Cloud Build の REST API で使用できます。
Cloud Console では、[ビルド履歴] ページで Cloud Build のビルド結果を確認できます。また、[ビルドトリガー] でビルドを自動化できます。
gcloud CLI は、ビルドを作成して管理するために使用できます。ビルドの送信、ビルドの一覧表示、ビルドのキャンセルなどのタスクを実施するコマンドを実行できます。
Cloud Build REST API を使用するとビルドをリクエストできます。
他の Cloud Platform API と同様、OAuth2 を使用してアクセスを承認する必要があります。アクセスの承認後、API を使用して新規ビルドの開始、ビルドのステータスや詳細の表示、プロジェクト別のビルドのリスト表示、現在処理中のビルドのキャンセルなどが行えるようになります。
詳細については、API ドキュメントをご覧ください。
ローカルでのビルドの実行
ビルドを Cloud Build に送信する前にテストする場合に、cloud-build-local
ツールを用いてローカルでビルドを実行できます。このツールの使用方法については、ローカルでのビルドとデバッグページをご覧ください。
次のステップ
- Docker のクイックスタートを読み、Cloud Build を使用して Docker イメージをビルドする方法を学習する。
- Cloud Build でアーティファクトをビルド、テスト、デプロイする方法を学習する。
- さまざまなタイプの Cloud Build トリガーについて確認する。
- DevOps に関するリソースを読む。また、研究プログラムについて確認する。