次の方法で共有


Azure DevOps を使用して Standard ロジック アプリ ワークフローのビルドとデプロイを自動化する

シングル テナントの Azure Logic Apps で実行される Standard ロジック アプリ ワークフローの場合、Visual Studio Code と Azure Logic Apps (Standard) 拡張機能を使用して、任意のソース管理システムを使ってロジック アプリ プロジェクトをローカルで開発、テスト、格納できます。 しかし、さまざまな環境やプラットフォームにワークフローを簡単かつ一貫してデプロイする利点を十分に得るには、ビルドとデプロイのプロセスを自動化する必要もあります。

Azure Logic Apps (Standard) 拡張機能には、Azure DevOps を使用して自動ビルドとデプロイ プロセスを作成および維持するためのツールが用意されています。 しかし、この自動化を開始する前に、次の要素を考慮してください。

  • ワークフローを作成する Azure ロジック アプリ リソース

  • ワークフローで使用され、Microsoft のマネージド コネクタから作成される Azure でホストされる接続。

    これらの接続は、Azure Logic Apps ランタイムで直接ネイティブに実行される接続とは異なります。

  • デプロイする必要があるさまざまな環境の特定の設定とパラメーター

この拡張機能は、ビルドとデプロイを自動化するために必要な次のタスクを完了するのに役立ちます。

  • デザイン時に接続参照をパラメーター化する。 このタスクを使用すると、ローカルの開発機能を損なうことなく、さまざまな環境の参照を更新するプロセスが簡略化されます。

  • すべての依存リソースを含む、Standard ロジック アプリ リソースのデプロイを自動化するスクリプトを生成する。

  • Azure でホストされる接続のデプロイを自動化するスクリプトを生成する。

  • ローカルの開発機能を損なうことなく、ビルド プロセス中に Azure Logic Apps パッケージに挿入できる環境固有のパラメーターを準備する。

  • Azure DevOps を使用してオンデマンドでパイプラインを生成し、ビルドとリリースのプロセスと共にインフラストラクチャのデプロイをサポートする。

このガイドでは、次のタスクを完了する方法について説明します。

  1. Visual Studio Code でロジック アプリ ワークスペースとプロジェクトを作成する。これには、インフラストラクチャのデプロイ、継続的インテグレーション (CI)、継続的デプロイ (CD) 用のパイプラインを作成するファイルが含まれています。

  2. Azure DevOps でワークスペースと Git リポジトリ間の接続を作成する。

  3. Azure DevOps でパイプラインを作成する。

詳しくは、次のドキュメントをご覧ください。

既知の問題と制限事項

  • この機能は、Standard ロジック アプリ プロジェクトのみをサポートします。 Visual Studio Code ワークスペースに Standard ロジック アプリ プロジェクトと Functions カスタム コード プロジェクトの両方が含まれている場合、どちらもデプロイ スクリプトが生成されますが、カスタム コード プロジェクトは現在無視されます。 カスタム コード用のビルド パイプラインを作成する機能は、ロードマップにあります。

  • この拡張機能を使用すると、インフラストラクチャのデプロイ、継続的インテグレーション (CI)、継続的デプロイ (CD) 用のパイプラインが作成されます。 しかし、パイプラインを Azure DevOps に接続し、関連するトリガーを作成する必要があります。

  • 現在、この拡張機能は、インフラストラクチャのデプロイ スクリプト用の Azure Resource Management テンプレート (ARM テンプレート) のみをサポートしています。 他のテンプレートは計画中です。

前提条件

ロジック アプリのワークスペース、プロジェクト、ワークフローを作成する

  1. Visual Studio Code のアクティビティ バーで、Azure アイコンを選択します。

  2. Azure ウィンドウの [ワークスペース] ツール バーで、[Azure Logic Apps] メニューを開き、[新しいロジック アプリ ワークスペースを作成する] を選択します。

    スクリーンショットは、左側のメニューで Azure アイコンを選択し、[ワークスペース] セクションで [新しいロジック アプリ ワークスペースを作成する] を選択した Visual Studio Code を示しています。

  3. 画面の指示に従って、次のタスクを完了します。

    1. ワークスペースを作成するフォルダーを選択します。

    2. ワークスペース名を入力します。

    3. プロジェクトの種類: [ロジック アプリ] を選択します。

    4. ロジック アプリのプロジェクト名を入力します。

    5. ワークフロー テンプレートを選択します。 ワークフロー名を入力します。

    6. ワークスペースを現在の Visual Studio Code ウィンドウで開くか、新しいウィンドウで開くかを選択します。

      Visual Studio Code に、新しいワークスペースとロジック アプリ プロジェクトが表示されます。

  4. ワークフロー デザイナーを開くには、次の手順に従います。

    1. ロジック アプリ プロジェクトで、お使いのワークフロー名のフォルダーを展開します。

    2. workflow.json ファイルをまだ開いていない場合は、そのファイルを開いて、ファイルのショートカット メニューを開き、[デザイナーを開く] を選びます。

    3. プロジェクトの読み込み時に接続のパラメーター化を許可するように求められたら、[はい] を選択します。

      この選択により、プロジェクトは接続定義でパラメーターを使用して、さまざまな環境のビルドとデプロイを自動化できます。

    4. 画面の指示に従って、次のアイテムを選択します。

      • Azure のコネクタを使用する

        Note

        この手順を省略すると、使用できるのはランタイムでホストされる組み込みコネクタのみです。 Microsoft マネージドを有効にする (後で Azure でホストされるコネクタを有効にする) には、次の手順に従います。

        1. workflow.json ファイルののショートカット メニューを開き、[Azure のコネクタを使用する] を選択します。

        2. ロジック アプリに使用する既存の Azure リソース グループを選択します。

        3. ワークフロー デザイナーをリロードします。

      • ロジック アプリに使用する既存の Azure リソース グループ

  5. 完了したら、ワークフロー デザイナーをリロードします。 メッセージが表示されたら、Azure にサインインします。

    スクリーンショットは、左側のメニューで選択された Explorer アイコン、ロジック アプリ プロジェクト、ワークフロー デザイナーを含む Visual Studio Code を示しています。

ワークフローを任意の方法で編集し、その過程でワークフローをローカルでテストできるようになりました。 サンプル ワークフローを作成してテストするには、Visual Studio Code を使用した Standard ワークフローの作成に関するページを参照してください。

デプロイ スクリプトを作成する

ワークフローを作成してローカルでテストした後、デプロイ スクリプトを作成します。

  1. すべてのプロジェクト ファイルの下にある空白領域から、プロジェクトのショートカット メニューを開き、[デプロイ スクリプトを作成する] を選択します。

    スクリーンショットは、左側のメニューで選択された Explorer アイコン、ロジック アプリ プロジェクト、開かれたプロジェクト ウィンドウのショートカット メニュー、[デプロイ スクリプトを作成する] のオプションが選択された Visual Studio Code を示しています。

  2. 画面の指示に従って、次の手順を完了します。

    1. ロジック アプリに使用する既存の Azure リソース グループを選択します。

    2. ロジック アプリ リソースの一意の名前を入力します。

    3. ストレージ アカウント リソースの一意の名前を入力します。

    4. App Service プランに使用する一意の名前を入力します。

    5. ファイルを作成するワークスペース フォルダーを選択します。

      デプロイ フォルダーの場所 説明
      新しいデプロイ フォルダー (既定値) 現在のワークスペースに新しいフォルダーを作成します。
      別のフォルダーを選択 現在のワークスペース内の別のフォルダーを選択します。

    完了すると、Visual Studio Code によって、ワークスペースのルートに deployment/{logic-app-name} という名前のフォルダーが作成されます。 このフォルダーでは、これらの手順で指定したのと同じロジック アプリ名が使用されます。

    Note

    次のファイル内の変数、アプリ設定、パラメーターの値は、これらの手順で指定した入力に基づいて事前設定されます。 別の環境を対象とする場合は、作成されたパラメーターと変数ファイルの値を必ず更新してください。

    スクリーンショットは、左側のメニューで選択された Explorer アイコン、ロジック アプリ プロジェクト、コンテンツを含む強調表示されたデプロイ スクリプト フォルダーを含む Visual Studio Code を示しています。

    {logic-app-name} フォルダーの下には、次の構造があります。

    [フォルダー名] ファイルの名前と説明
    ADOPipelineScripts - CD-pipeline.yml: Azure のロジック アプリ リソースにロジック アプリ コードをデプロイする指示を含む継続的デリバリー パイプライン。

    - CD-pipeline-variables.yml: CD-pipeline.yml ファイルで使用される変数を含む YAML ファイル。

    - CI-pipeline.yml: ロジック アプリ リソースを Azure にデプロイするために必要な成果物をビルドして生成する指示を含む継続的インテグレーション パイプライン。

    - CI-pipeline-variables.yml: CI-pipeline.yml ファイルで使用される変数を含む YAML ファイル。

    - infrastructure-pipeline.yml: すべての ARM テンプレートを Azure に読み込み、infrastructure-pipeline-template.yml ファイルのステップを実行する指示を含む YAML "コードとしてのインフラストラクチャ" パイプライン。

    - infrastructure-pipeline-template.yml: 必要な依存関係をすべて含むロジック アプリ リソースをデプロイし、ソース コードで必要な各マネージド接続をデプロイする指示を含む YAML パイプライン ファイル。

    - infrastructure-pipeline-variables.yml: infrastructure-pipeline-template.yml ファイルのステップを実行するために必要な変数をすべて含む YAML パイプライン。
    ArmTemplates - {connection-type}.parameters.json: {connection-type} という名前の Azure でホストされる接続を Azure にデプロイするために必要なパラメーターを含む Resource Manager パラメーター ファイル。 このファイルは、ワークフロー内の Azure でホストされる接続ごとに存在します。

    - {connection-type}.template.json: {connection-reference} という名前の Azure でホストされる接続を表す Resource Manager テンプレート ファイル。対応する接続リソースを Azure にデプロイするために使用される情報が含まれています。 このファイルは、ワークフロー内の Azure でホストされる接続ごとに存在します。

    - {logic-app-name}.parameters.json: {logic-app-name} という名前の Standard ロジック アプリ リソースを Azure にデプロイするために必要なパラメーター (すべての依存関係を含む) を含む Resource Manager パラメーター ファイル。

    - {logic-app-name}.template.json: {logic-app-name} という名前の Standard ロジック アプリ リソースを表す Resource Manager テンプレート ファイル。ロジック アプリ リソースを Azure にデプロイするために使用される情報が含まれています。
    WorkflowParameters parameters.json: この JSON ファイルは、ローカル パラメーター ファイルのコピーであり、ユーザー定義パラメーターのすべてのコピーに加えて、Azure でホストされる接続をパラメーター化するために拡張機能によって作成されたパラメーターのクラウド バージョンが含まれています。 このファイルは、Azure にデプロイするパッケージをビルドするために使用されます。

ワークスペースを Git リポジトリに接続する

  1. リポジトリを初期化するには、次の手順に従います。

    1. Visual Studio Code のアクティビティ バーで [ソース管理] アイコンを選択します。

    2. [ソース管理] ウィンドウで、[リポジトリの初期化] を選択します。

    3. プロンプト メニューで、[フォルダーの選択] を選択します。 ワークスペースのルート フォルダーを選択し、[リポジトリの初期化] を選択します。

      スクリーンショットは、Visual Studio Code の [ソース管理] ウィンドウを示し、[リポジトリの初期化] という名前のオプションが選択されています。

    4. [ソース管理] ウィンドウで、[リポジトリを開く] を選択します。

    5. プロンプト メニューで先ほど作成したリポジトリを選択します。

    詳細については、「Visual Studio Code - ローカル フォルダーのリポジトリを初期化する」を参照してください。

  2. リモートを追加できるように Git リポジトリの URL を取得するには、次の手順に従います。

    1. Azure DevOps で、Azure DevOps 組織のチーム プロジェクトを開きます。

    2. 左側のメニューで、[リポジトリ] を展開し、[ファイル] を選択します。

    3. [ファイル] ペインのツール バーで、[クローン] を選択します。

      スクリーンショットは、Azure DevOps チーム プロジェクト、Git リポジトリを示し、[クローン] という名前のオプションが選択されています。

    4. [リポジトリのクローン] ウィンドウで、クローンの URL の HTTPS バージョンをコピーします。

      詳細については、Azure Repos での Git リポジトリのクローン URL の取得に関するページを参照してください。

  3. Git リポジトリのリモートを追加するには、次の手順に従います。

    1. Visual Studio Code に戻り、[ソース管理] ウィンドウに戻ります。

    2. [ソース管理リポジトリ] で、リポジトリのツール バーから省略記号 ([...]) メニューを開き、[リモート] > [リモートの追加] を選択します。

      スクリーンショットは、Visual Studio Code の [ソース管理] ウィンドウを示し、[リモートの追加] という名前のオプションが選択されています。

  4. プロンプトで、コピーした URL を貼り付け、リモートの名前を入力します。これは通常、"origin" になります。

    これで、Visual Studio Code とリポジトリとの間の接続が作成されました。

  5. 次のセクションでパイプラインを設定する前に、CD-pipeline.yml ファイルを開き、source 属性の CI Pipeline の名前を、使用する CI パイプライン名と一致するように変更します。

    スクリーンショットは、Visual Studio Code の [ソース管理] ウィンドウで、CD-pipeline.yml ファイルを開き、CI パイプライン名のソース フィールドが強調表示されています。

  6. [ソース管理] ウィンドウで、変更をコミットし、リポジトリに発行します。

    詳細については、コード変更のステージとコミットに関するページを参照してください。

Azure DevOps でのパイプラインの作成

Azure DevOps で CI パイプラインと CD パイプラインと共にインフラストラクチャを作成するには、次のパイプライン ファイルごとに次の手順を繰り返します。

  • "コードとしてのインフラストラクチャ" パイプラインの infrastructure-pipeline.yml
  • 継続的インテグレーション パイプラインの CI-pipeline.yml
  • 継続的デリバリー パイプラインの CD-pipeline.yml

パイプラインの設定

  1. Azure DevOps で、チーム プロジェクトに戻り、[リポジトリ] > [ファイル] ペインに戻ります。

  2. [ファイル] ペインで、[ビルドのセットアップ] を選択します。

    スクリーンショットは、Azure DevOps チーム プロジェクト、Git リポジトリを示し、[ビルドのセットアップ] という名前のオプションが選択されています。

  3. [パイプラインのインベントリの作成] ペインで、リポジトリ情報を確認し、[パイプラインの構成] を選択します。

    スクリーンショットは、パイプラインのリポジトリ情報を含む [インベントリ] ページを示しています。

  4. [パイプラインを構成する] ペインで、[既存の Azure Pipelines YAML ファイル] を選択します。

    スクリーンショットは、パイプラインの種類を選択するための [構成] ページを示しています。

  5. [既存の YAML ファイルを選択する] ペインで、次の手順に従って Infrastructure-pipeline.yml ファイルを選択します。

    1. [ブランチ] では、変更をコミットしたブランチ (main やリリース ブランチなど) を選択します。

    2. [パス] では、パイプラインに使用するパスを選択します。 次のパスが既定値です。

      deployment/{logic-app-name}/ADOPipelineScripts/{infrastructure-pipeline-name}.yml

    3. 準備ができたら、[続行] を選択します。

      スクリーンショットは、[既存の YAML ファイルの選択] ペインを示してます。

  6. [パイプラインの構成] ページで、[パイプラインのレビュー] を選択します。

  7. [管理されたパイプラインの確認] ペインで、次の情報を指定します。

    • パイプライン名: パイプラインの名前を入力します。
    • パイプライン フォルダー: パイプラインを保存するフォルダーを選択します。./deployment/{logic-app-name}/pipelines という名前になります。
  8. 終了したら、 [保存] を選択します。

    スクリーンショットは、[管理されたパイプラインの確認] という名前のペインを示しています。

パイプラインの表示と実行

パイプラインを検索して実行するには、次の手順に従います。

  1. チーム プロジェクトの左側のメニューで、[パイプライン] を展開し、[パイプライン] を選択します。

  2. [すべて] タブを選択して、使用可能なすべてのパイプラインを表示します。 パイプラインを探して選択します。

  3. パイプラインのツール バーで、[パイプラインの実行] を選択します。

    スクリーンショットは、作成されたパイプラインのペインを示し、[パイプラインの実行] のオプションが選択されています。

詳細については、「最初のパイプラインの作成」を参照してください。

関連項目