1. はじめに
こんにちは!株式会社Definerの阪本です!
今回は、Cloud BuildのCI/CDをご紹介したいと思います。
今回は、Cloud BuildのCI/CDをご紹介したいと思います。
2. 目的・ユースケース
この記事では、テストなどを自動化するという目的に向けて、Cloud Buildという技術を活用します。
ITの現場で、Cloud BuildでCI/CDを実装したいときに、参考になる情報やプラクティスをまとめています。
ITの現場で、Cloud BuildでCI/CDを実装したいときに、参考になる情報やプラクティスをまとめています。
3. セットアップ
まずは、Cloud Buildについておさらいします。
Cloud Buildは、サーバレス・マネージドな自動ビルドサービスです。
GitHubなどのリポジトリサービスとの連携や、Pub/Subなどのイベントをトリガーにしてもビルドを実行できます。
また、Google Kubernetes EngineやCloud Functions、Cloud Runへのデプロイも実行することができます。
Cloud Buildは、構成ファイルでビルドやデプロイを定義します。
まずはセットアップをしていきます。
①Cloud Functions作成
GCPコンソールから「Cloud Functions」→「関数の作成」
「未認証の呼び出し」にチェックを入れ、python3.9を選択します。
②GitHubへのCloud Build設定ファイルの追加
以下ファイルをPushします。
Cloud Buildは、サーバレス・マネージドな自動ビルドサービスです。
GitHubなどのリポジトリサービスとの連携や、Pub/Subなどのイベントをトリガーにしてもビルドを実行できます。
また、Google Kubernetes EngineやCloud Functions、Cloud Runへのデプロイも実行することができます。
Cloud Buildは、構成ファイルでビルドやデプロイを定義します。
まずはセットアップをしていきます。
①Cloud Functions作成
GCPコンソールから「Cloud Functions」→「関数の作成」
「未認証の呼び出し」にチェックを入れ、python3.9を選択します。
②GitHubへのCloud Build設定ファイルの追加
以下ファイルをPushします。
steps:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
args:
- gcloud
- functions
- deploy
- ${Cloud Function名}
- --region=${リージョン}
- --source=.
- --trigger-http
- --runtime=python39
4. Cloud Buildの作成
続いて、Cloud Buildを構築していきます。
①GitHubリポジトリの接続
まずはGitHubリポジトリを接続します。
Cloud Buildコンソールから「リポジトリを接続」をクリックし、GitHubのアカウントを連携します。
②Cloud Buildトリガーを作成
先ほど接続したリポジトリと、ブランチ名を入力します。
構成は、「Cloud Build構成ファイル(yaml)」を選択します。

③動作確認
新しいCloud FunctionのコードをGitHubにマージすると、裏側でCloud Buildが動いていることが確認できます。
Cloud Functions のソースも、変更されています
①GitHubリポジトリの接続
まずはGitHubリポジトリを接続します。
Cloud Buildコンソールから「リポジトリを接続」をクリックし、GitHubのアカウントを連携します。
②Cloud Buildトリガーを作成
先ほど接続したリポジトリと、ブランチ名を入力します。
構成は、「Cloud Build構成ファイル(yaml)」を選択します。

③動作確認
新しいCloud FunctionのコードをGitHubにマージすると、裏側でCloud Buildが動いていることが確認できます。
Cloud Functions のソースも、変更されています
5. 引用・参考記事
6. 独自ソリューション「PrismScaler」について
7. お問合せ
本記事では、入門編として有益な情報を無料公開しています。ご相談やお問い合わせは「株式会社Definer」へ。
8. Definerに関して。
・ Definer Incは、ITの上流から下流まで一気通貫のワンストップソリューションをご提供しております。
・ AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミットしています。
・ DevOpsとCI/CDコンサルティングにより「少ないエンジニアで事業が成長する仕組みづくり」「エンジニアが喜ぶ、採用しやすい環境づくり」「高速なアジャイル開発環境」を実現しています。
・ また、自社プロダクトとしてPrismScalerを展開しております。PrismScalerは、AWS、Azure、GCPなどのマルチクラウド / ITインフラの高品質かつ迅速な、「自動構築」「自動監視」「問題検知」「構成可視化」を実現します。
・ AIやクラウドのITインフラなど、先進的なIT技術のコンサルティングから要件定義 / 設計開発 / 実装、保守運用に至るまでの統合的な支援にコミットしています。
・ DevOpsとCI/CDコンサルティングにより「少ないエンジニアで事業が成長する仕組みづくり」「エンジニアが喜ぶ、採用しやすい環境づくり」「高速なアジャイル開発環境」を実現しています。
・ また、自社プロダクトとしてPrismScalerを展開しております。PrismScalerは、AWS、Azure、GCPなどのマルチクラウド / ITインフラの高品質かつ迅速な、「自動構築」「自動監視」「問題検知」「構成可視化」を実現します。