統合用の CICD をビルドする

このチュートリアルでは、構成変数プレビュー)を使用して、異なる Google Cloud プロジェクトの異なる環境間の統合の昇格を自動化する方法について説明します。

概要

このチュートリアルでは、サンプル統合の構成変数を使用して Application Integration のデプロイを自動化します。このサンプル統合フローは、API を呼び出し、API からのレスポンスを Pub/Sub トピックに公開します。このサンプルは、REST エンドポイントの呼び出しタスクとコネクタタスクの使用を説明することを目的としています。さまざまな環境と Google Cloud プロジェクトに対応する GitHub リポジトリにサンプル インテグレーションを保存できます。

Pub/Sub トピックの作成

  1. Google Cloud コンソールで、Pub/Sub の [トピック] ページに移動します。

    [トピック] に移動

  2. [トピックを作成] をクリックします。

  3. [トピック ID] フィールドに、トピックの ID を入力します。トピックの命名の詳細については、トピック、サブスクリプション、スキーマ、スナップショットの命名に関するガイドラインをご覧ください。

  4. [デフォルトのサブスクリプションを追加] オプションは、そのまま保持します。

  5. 他のオプションは選択しないでください。

  6. [トピックを作成] をクリックします。

Pub/Sub コネクタを構成する

  1. Google Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、 Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。

    2. [NEXT] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [Pub/Sub] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに「pub-sub-connector」と入力します。
    4. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    5. プロジェクト ID: Google Cloud Pub/Sub インスタンスが存在するプロジェクト ID。
    6. トピック ID: Pub/Sub トピックの名前を入力します。
    7. [次へ] をクリックします。
  5. [認証] セクションで、[次へ] をクリックします。
  6. Review: 接続と認証の詳細を確認します。
  7. [作成] をクリックします。

新しい統合を作成する

Application Integration を設定したら、新しい統合を作成できます。

  1. Google Cloud コンソールで [Application Integration] ページに移動します。

    Application Integration に移動

  2. 左側のナビゲーション メニューで [Integrations] をクリックして、[Integrations] ページを開きます。
  3. [ 統合を作成] をクリックし、[統合を作成] ページで次の情報を入力します。
    1. 統合名: 統合の名前を入力します。例: build-cicd
    2. 説明: 統合の説明を入力します(省略可)。例: Demo integration created for CICD tutorial
    3. リージョン: プロビジョニングされたリージョンのリストからリージョン us-central1 を選択します。選択する必要があるリージョンがプロビジョニングされていない場合は、新しいリージョンをプロビジョニングするをご覧ください。サポートされているリージョンのリストについては、Application Integration のロケーションをご覧ください。
    4. サービス アカウント: このフィールドは、リージョンでガバナンスを有効にしている場合に表示されます。統合用のサービス アカウントを選択します。リージョンでガバナンスを有効にする方法については、リージョンを編集するをご覧ください。
    5. [作成] をクリックします。[統合エディタ] ページが開き、タスクトリガーを追加して統合を構築できます。

統合フローを作成する

API トリガーと REST エンドポイントの呼び出しを追加する

API トリガーを追加するには、次の操作を行います。
  1. Google Cloud コンソールで、[Application Integration] ページに移動します。

    Application Integration に移動

  2. ナビゲーション メニューで [統合] をクリックします。

    [統合リスト] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。

  3. build-cicd 統合を選択します。

    統合エディタで統合が開きます。

  4. 統合エディタのナビゲーション バーで、[トリガー] > [API トリガー] をクリックしてトリガーを追加します。
  5. 統合エディタのナビゲーション バーで、[タスク] > [REST エンドポイントの呼び出し] をクリックしてタスクを追加します。
  6. [API トリガー] 要素からエッジ接続を [REST エンドポイントの呼び出し] 要素に追加するには、[API トリガー] 要素のコントロール ポイントの上にカーソルを合わせてからクリックし、[REST エンドポイントの呼び出し] タスク要素のコントロール ポイントに線を引きます。

構成変数を作成する

構成変数を作成する手順は次のとおりです。
  1. インテグレーション デザイナーのナビゲーション バーで、(切り替えパネル)をクリックして、[変数] ペインを開きます。
  2. [+ 作成] をクリックします。
  3. [変数の作成] ペインで、次の操作を行います。
    1. [名前] に「url」と入力します。

      Application Integration は、構成変数に `CONFIG_ 接頭辞を追加します。API を使用して統合に構成変数を追加する場合は、構成変数に `CONFIG_CONFIG_VARIABLE_NAME` の形式を使用します。統合をダウンロードしてアップロードする方法については、統合をアップロードしてダウンロードするをご覧ください。

    2. [変数タイプ] で [構成変数] を選択します。
    3. [Data type] で [String] を選択します。
    4. [作成] をクリックします。

      構成変数が [変数] ペインに表示されます。

  4. ステップ 2 と 3 を繰り返して、次の構成変数を追加します。
    • 名前: connection_name
    • 変数タイプ: Config Variable
    • データ型: String

REST エンドポイントの呼び出しを追加して構成する

構成変数を作成する手順は次のとおりです。
  1. 統合エディタで、[REST エンドポイントの呼び出し] タスクをクリックして、タスク構成ペインを開きます。次に、以下の操作を行います。
    1. [タスク入力] セクションを開きます。
    2. [エンドポイントのベース URL] で [変数] をクリックし、$`CONFIG_url`$ を追加します。

コネクタタスクを追加して構成する

  1. 統合エディタのナビゲーション バーで、[タスク] > [コネクタ] をクリックします。
  2. [コネクタを構成] をクリックします。
  3. [リージョン] リストから、Pub/Sub コネクタを作成したリージョンを選択します。
  4. [接続] フィールドで、前の手順で作成した Pub/Sub コネクタを選択します。
  5. [タイプ] セクションで、[アクション] を選択します。
  6. [エンティティ / アクションを設定する] セクションの [アクション] で、[publishMessage] を選択します。
  7. [デフォルト値] に、構成変数のデフォルト値を追加します。
  8. [作成] をクリックします。
  9. [コネクタ] タスクの構成ペインで、[接続の詳細] セクションを開き、次のフィールドを更新します。
    1. [接続名] フィールドで、[変数] をクリックして $`CONFIG_connection_name`$ を選択します。

データ マッピング タスクを追加する

  1. 統合エディタのナビゲーション バーで、[タスク] > [データ マッピング] をクリックします。
  2. [REST エンドポイントの呼び出し] 要素から [データ マッピング] 要素にエッジ接続を追加するには、[REST エンドポイントの呼び出し] 要素のコントロール ポイントの上にカーソルを合わせてからクリックし、[データ マッピング] タスク要素のコントロール ポイント線を引きます。
  3. データ マッピング 要素上のコントロール ポイントにカーソルを合わせて、データ マッピング 要素からコネクタ要素に別のエッジ接続を追加します。線をクリックして、[コネクタ] タスク要素上のコントロール ポイントにドラッグします。
  4. データ マッピング タスク構成ペインで、[Open Data Mapping Editor] をクリックします。
  5. REST エンドポイントの呼び出しタスクの出力変数をコネクタタスクの入力変数にマッピングします。

統合を公開する

統合を公開する手順は次のとおりです。
  1. 統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。

    [Publish integration] ダイアログが表示されます。

  2. [インテグレーションを公開] ダイアログで、次の構成変数の値を入力します。
    1. url: エンドポイント URL の名前を入力します。
    2. connection_name: 前の手順で作成した Pub/Sub コネクタの名前を入力します。
  3. [公開] をクリックします。
  4. 統合が正常に公開されると、公開された統合の実行ログを表示、検査できます。ログを表示するには、統合エディタのツールバーで [ログ] をクリックします。

環境間でのインテグレーションをプロモートする

環境間でインテグレーションをプロモートするには、integrationcli ツールを使用できます。これは、Application Integration APIIntegration Connectors API を操作できるオープンソース ツールです。このツールを使用すると、インテグレーション、認証構成などのインテグレーション エンティティを管理できます。インテグレーションのスキャフォールディングを生成して、スキャフォールディングによって生成された変更を適用する方法については、コミュニティ ブログの integrationcli の概要をご覧ください。

Jenkins、GitLab、Cloud Build などを使用して DevOps パイプラインを設定することで、環境間で変更をプロモートすることもできます。詳細については、Cloud Build とのインテグレーションをご覧ください。

integrationcli を使用しない場合は、手動でインテグレーションをダウンロードして新しいプロジェクトにアップロードできます。現在ダウンロードできないため、新しいプロジェクトで手動でコネクタを作成する必要があります。新しい環境でインテグレーションを公開すると、Application Integration で構成変数の値を入力できます。

次のステップ