クラウド同上

Cloud Buildに追加された新機能(主にGitHubとの連携強化)を紹介!

Author
iijima
Lv:3 Exp:2509

はじめまして!
SRE所属です、よろしくお願いします。

Cloud Buildは継続的なビルド、テスト、デプロイを実現するGCPのツールです。

こちらの記事で発表されています通り、
Cloud Buildに新機能が追加され、Githubとの連携が強化されました!

この記事では、今回追加された以下の新機能を紹介します。
③は以前からある機能ですが、便利なのでついでに紹介します。

①pull requestをトリガーに設定可能に!
②ビルド結果をGitbHub上で確認可能に!
③ビルドがトリガーされるor無視するファイルを指定可能に!
④トリガーをCloud Build APIまたはCloud SDKで作成可能に!

デモ環境として、GitHubでのアクションをトリガーにしてCloudBuildが起動して、「Hello World」が表示されるApp Engineがデプロイされる環境を用いています。

デモで使用しているApp Engineのコードや構成ファイルはこちらのリポジトリをご参照ください。

pull requestをトリガーに設定可能に!

pull request(PR)をトリガーにして、Cloud Buildを起動することができるようになりました。

Consoleから確認してみると、
以下のようにトリガーのタイプに「pull リクエスト」を選択できるようになっています。

さらにオプションでオーナーとコラボレーターのみがCloud Buildを実行できるよう設定できます。外部ユーザーがPRができるなどの理由で、Cloud Buildを実行できるユーザーを制限したい時に有効です。

上記の設定を保存してトリガーを作成し、試しにPRしてみます。
App Engineで表示される文字列を”Hello Cloud Build!”から”Hello Cloud Build PR!”に変更します。

Createボタンを押してPRを作成すると、自動的にビルドが実行されてApp Engineが更新されます。

App Engineにアクセスして、「Hello Cloud Build PR!」が表示されることが確認できます。

以上、PRをトリガーにしてビルドを実行できることを確認しました。

PRはあくまでもコードレビューをするための機能ですので、PRをトリガーとするビルドの目的は「テストしてマージしても良いことを証明する」ことになります。

今回の検証のように、PRをトリガーにして本番環境にリリースすることは基本的にはありませんのでご注意ください。

ビルド結果をGitbHub上で確認可能に!

ビルド結果をGithubの画面から確認することができるようになりました。PRをトリガーとしている場合、作成者やレビュワーはCloud Buildの結果をGCPのConsoleやCLIから確認する作業をしなくてよくなります。

ビルドがトリガーされるor無視するファイルを指定可能に!

こちら以前からある機能ですが、便利なのでここで紹介します。

特定のファイルやサブディレクトリに変更があった場合だけビルドを実行する、
または特定のファイルやサブディレクトリの変更は無視してビルドは実行しない、という設定ができます。

例えば以下の設定でREADME.mdに変更があっても無視します。README.mdを変更してpushしても、ビルドは実行されません。

トリガーをCloud Build APIまたはCloud SDKで作成可能に!

GitHub連携とは関係はありませんが、
Cloud Build APIまたはCloud SDKでトリガーを作成できるようになりました。

Cloud SDKでトリガーを作成するには、以下のようなトリガー構成ファイルを作成します。

name: my-pr-trigger
description: "マイトリガー"
github:
 owner: ca-iijima
 name: cloudbuild-demo
 pull_request:
   branch: master
filename: cloudbuild.yaml

以下のコマンドで、構成ファイルで設定したトリガーを作成できます。

$ gcloud alpha builds triggers import --source=trigger.yaml

実行してConsoleで確認すると、トリガーが作成できていることがわかります。

まとめ

以上Cloud Buildに追加された新機能を紹介しました。

Cloud Buildを活用すれば、
CircleCIなど外部のサービスを利用しなくてもCI/CDを構築できます。

GCPを利用していてCI/CDに興味がある方は、まずはCloud Buildをお試しください!!!

次の記事を読み込んでいます
次の記事を読み込んでいます
次の記事を読み込んでいます
次の記事を読み込んでいます