クイックスタート: 自動化

このページでは、Cloud Build を使用してビルドを自動化する方法について説明します。

Cloud Build は、ビルドトリガーを使用して CI/CD 自動化を有効にします。新しい commit がリポジトリに push されたときや pull リクエストが開始されたときなど、受信イベントをリッスンし、新しいイベントが発生したときにビルドを自動的に呼び出すようにトリガーを構成できます。

トリガーを作成し、GitHub リポジトリに変更を push するたびにビルドを呼び出すようにトリガーを構成します。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud Build API を有効にします。

    API を有効にする

  5. Cloud SDK をインストールして初期化します。
  6. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  7. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  8. Cloud Build API を有効にします。

    API を有効にする

  9. Cloud SDK をインストールして初期化します。
  10. まだインストールしていない場合は、GitHub でアカウントを作成してください。
  11. GitHub で 2 要素認証を設定している場合は、コマンドラインで GitHub パスワードの代わりに使用する個人用のアクセス トークンを作成します。

ソースファイルを準備する

ビルドするサンプル ソースコードが必要です。このセクションでは、Go の Hello World のサンプルを含む既存のソース リポジトリのクローンを、独自の GitHub ユーザー アカウントに作成します。

  1. Cloud Build の cloud-build-samples リポジトリに移動します。

  2. 独自の GitHub アカウントに cloud-build-samples リポジトリをフォークします。

    1. ページの右上にある フォーク アイコンをクリックします。
    2. リポジトリをフォークする GitHub ユーザー アカウントをクリックします。

      フォークされた cloud-build-samples リポジトリのバージョンのページに自動的にリダイレクトされます。

  3. ターミナルで次のコマンドを実行して、リポジトリのクローンをローカルマシンに作成します。ここで、GITHUB_USERNAME は GitHub アカウントのユーザー名です。

     git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git
    
  4. quickstart-automate ディレクトリに移動します。

     cd cloud-build-samples/quickstart-automate
    

    Hello World のサンプルのソースコードを含む次のファイルが表示されます。

    • main.go: Hello, world! を出力する Go アプリケーションのサンプル。

       package main
      
       import (
           "fmt"
       )
      
       func main() {
           fmt.Println("Hello, world!")
       }
      
    • cloudbuild.yaml: ビルドステップとして指定されたアクションを実行するために Cloud Build が使用するビルド構成ファイル。このファイルで使用されているビルドステップは、Docker Hub の golang イメージを使用して main.go ファイルをビルドし実行するように Cloud Build に指示します。

       steps:
       - name: golang
         args: ['go', 'run', 'quickstart-automate/main.go']
      

リポジトリを接続する

トリガーを使用して GitHub でソースコードをビルドするには、まず Cloud Build を GitHub リポジトリに接続する必要があります。このセクションでは、cloud-build-samples リポジトリを Cloud Build に接続します。

  1. Google Cloud Console で [トリガー] ページを開きます。

    [トリガー] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. [リポジトリを接続] をクリックします。

  4. [ソースを選択] で、[GitHub](Cloud Build GitHub アプリ)を選択します。

  5. [続行] をクリックします。

  6. GitHub アカウントを認証します。

  7. [Select repostory] セクションで、[追加] をクリックして [GitHub アカウント] のユーザー名を入力します。

    Cloud Build GitHub アプリをインストールするためのポップアップが表示されます。

  8. GitHub のユーザー名をクリックします。

  9. [Only certain repositories] をクリックして、特定のリポジトリに Cloud Build GitHub アプリをインストールします。

  10. プルダウン メニューで、[GITHUB_USERNAME/cloud-build-samples] を選択します。ここで、GITHUB_USERNAME は GitHub アカウントのユーザー名です。

  11. [許可する] をクリックします。

    続行する前に、GitHub アカウントに関連付けられているパスワードの入力を求められることがあります。

  12. Cloud Build GitHub アプリのインストール後は、[GitHub アカウント] フィールドのプルダウン メニューにユーザー名が表示されます。ユーザー名を選択します。

  13. [リポジトリ] でリポジトリとして [GITHUB_USERNAME/cloud-build-samples] を選択します。

  14. チェックマークをクリックして、トリガー接続の利用規約に同意します。

  15. [接続] をクリックします。

  16. [完了] をクリックします。

    次のセクションでトリガーを作成します。

トリガーを作成する

このセクションでは、トリガーを作成します。

  1. Google Cloud Console で [トリガー] ページを開きます。

    [トリガー] ページを開く

  2. ページ上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。

  3. [開く] をクリックします。

  4. [トリガーを作成] をクリックします。

    [トリガーの作成] ページで、次の設定を入力します。

    1. 名前: トリガーの名前として「hello-world-trigger」と入力します。

    2. イベント: トリガーを起動するリポジトリ イベントとして [ブランチに push する] を選択します。

    3. ソース: ソースとして cloud-build-samples リポジトリを選択します。これには、ソースコードとビルド構成ファイルが含まれています。

    4. ビルド構成: ビルド構成ファイルとして [Cloud Build 構成ファイル] を選択します。

    5. Cloud Build 構成ファイルの場所: Cloud Build 構成ファイルのパスを quickstart-automate/cloudbuild.yaml として指定します。

  5. [作成] をクリックして、ビルドトリガーを保存します。

変更を commit する

このセクションでは、独自の GitHub アカウントにクローン作成した cloud-build-samples リポジトリに変更を commit します。

  1. ターミナル ウィンドウで quickstart-automate ディレクトリに移動します。

      cd code-examaples/quickstart-automate
    
  2. ターミナルで main.go ファイルを開きます。

  3. 「Hello, world!」を含む行を「Hello, universe!」に更新します。

      package main
    
      import (
          "fmt"
      )
    
      func main() {
          fmt.Println("Hello, universe!")
      }
    
  4. リポジトリのルート ディレクトリに戻ります。

    cd ..
    
  5. 次のコマンドを実行して GitHub に変更を commit します。

    git add quickstart-automate/main.go
    git commit -m "update text"
    git push
    

    リポジトリにコードを push するときに、認証情報の入力を求められることがあります。プロンプトが表示されたら、ユーザー名とパスワードを入力するか、認証トークンを入力します。

これで、リポジトリに変更を push しました。push することで、トリガーによって自動ビルドが行われます。

ビルドの詳細を表示

このセクションでは、変更の commit 後に、呼び出されたビルドに関連付けられたビルドの詳細を表示します。

  1. Google Cloud Console で Cloud Build ページを開きます。

    Cloud Build ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

    [ビルド履歴] ページが表示されます。

    自動化されたビルド履歴ページのスクリーンショット

  3. 特定のビルドをクリックします。

    [ビルドの詳細] ページが表示されます。

  4. ビルドのアーティファクトを表示するには、[ビルドの概要] で [ビルド アーティファクト] をクリックします。

    出力は次のようになります。

    ビルド アーティファクトのスクリーンショット

    このページからビルドログをダウンロードできます。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. Google Cloud Console で [トリガー] ページを開きます。

    [ビルドトリガー] ページを開く

  2. ページの上部にあるプロジェクト セレクタのプルダウン メニューからプロジェクトを選択します。

  3. [開く] をクリックします。

  4. 削除するトリガーの行を探します。

  5. 行の右端にあるメニュー(丸が縦に並んだアイコン)をクリックします。

  6. [削除] を選択します。

これで、クローンされたリポジトリに関連付けられているトリガーが削除されました。

次のステップ