次の方法で共有


Azure DevOpsを使用して Stream Analytics ジョブの CI/CD パイプラインを作成する

この記事では、Azure Stream Analytics CI/CD ツールを使用して、Azure DevOps build および release パイプラインを作成する方法について説明します。

Stream Analytics プロジェクトをコミットする

開始する前に、完全な Stream Analytics プロジェクトをソース ファイルとして Azure DevOps リポジトリにコミットします。 このサンプル リポジトリStream Analytics プロジェクトのソース コードをAzure Pipelinesで参照できます。

この記事の手順では、Stream Analytics Visual Studio Code プロジェクトを使用します。 Visual Studio プロジェクトを使用している場合は、「 CI/CD ツール

ビルド パイプラインを作成する

このセクションでは、ビルド パイプラインを作成する方法について説明します。

  1. Web ブラウザーを開き、Azure DevOpsでプロジェクトに移動します。

  2. 左側のナビゲーション メニューの「パイプライン」で、「ビルド」を選択します。 次に、[ 新しいパイプライン] を選択します。

    Azure Pipelines の [ビルド] ページにビルド パイプラインが見つからず、新しいパイプライン ボタンが表示されているスクリーンショット。

  3. [ クラシック エディターを使用して YAML なしでパイプラインを作成する] を選択します。

  4. ソースの種類、チーム プロジェクト、リポジトリを選択します。 次に、[ 続行] を選択します。

    Azure Repos Git、GitHub、その他のオプションとリポジトリ、ブランチ、続行ボタンが表示されているAzure Pipelinesソース選択ページのスクリーンショット。

  5. [ テンプレートの選択 ] ページで、[ 空のジョブ] を選択します。

npm パッケージをインストールする

  1. [ タスク] ページで、[ エージェント ジョブ 1] の横にあるプラス記号を選択します。 タスク検索に 「npm 」と入力し、 npm を選択します。

    「エージェント ジョブ 1」が選択され、「npm」が検索され、npm タスクオプションが右側に表示されたAzure Pipelines タスクページのスクリーンショット

  2. タスクに 表示名を付けます。 Command オプションをカスタムに変更し、Command と引数に次のコマンドを入力します。 他の既定のオプションは変更しないでください。

    install -g azure-streamanalytics-cicd
    

    npm タスクで azure-streamanalytics-cicd パッケージをインストールするカスタム コマンドを使用している様子を示す、Azure Pipelines タスクエディターのスクリーンショット。

ホストされた Linux エージェントを使用する必要がある場合は、次の手順に従います。

  1. エージェントの仕様を選択します。

    Azure Pipelines タスクページのスクリーンショットで、エージェントプールが Azure Pipelines に設定され、エージェント仕様が ubuntu-16.04 に設定されていることを示しています。

  2. [ タスク] ページで、[ エージェント ジョブ 1] の横にあるプラス記号を選択します。 タスク検索に コマンド ライン を入力し、[ コマンド ライン] を選択します。

    コマンド ライン タスクの検索のスクリーンショット。

  3. タスクに 表示名を付けます。 スクリプトに次のコマンドを入力します。 他の既定のオプションは変更しないでください。

    sudo npm install -g azure-streamanalytics-cicd --unsafe-perm=true --allow-root
    

    cmd タスクのスクリプトを入力するスクリーンショット。

ビルド タスクを追加する

  1. [変数] ページで、[+ パイプライン変数追加] を選択します。 次の変数を追加します。 次の値を好みに応じて設定します。

    変数名
    プロジェクトのルートパス <プロジェクト名>
    出力パス 出力
    デプロイパス デプロイ
  2. [ タスク] ページで、[ エージェント ジョブ 1] の横にあるプラス記号を選択します。 コマンド ラインを検索します。

  3. タスクに 表示名 を付け、次のスクリプトを入力します。 リポジトリ名とプロジェクト名を使用してスクリプトを変更します。

    注記

    build --v2 コマンドを使用してデプロイ用の ARM テンプレートを生成することを強くお勧めします。 新しい ARM テンプレートは、以前のバージョンと同じ機能を維持しながら、パラメーターの数が少なくなっています。

    古い ARM テンプレートは間もなく非推奨になります。 build --v2を使用して作成されたテンプレートのみが、更新プログラムとバグ修正を受け取ります。

    azure-streamanalytics-cicd build --v2 -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(deployPath)
    

    次の図では、例として Stream Analytics Visual Studio Code プロジェクトを使用しています。

    ストリーム アナリティクス Visual Studio Code プロジェクトをビルドするコマンド ライン タスクを示すAzure DevOps パイプライン エディターのスクリーンショット

テスト タスクを追加する

  1. [変数] ページで、[+ パイプライン変数追加] を選択します。 次の変数を追加します。 値は、実際の出力パスとリポジトリ名に合わせて変更してください。

    変数名
    testPath テスト

    パイプライン変数と値の一覧を示すAzure Pipelines変数ページのスクリーンショット。[追加] ボタンが表示されます。

  2. [ タスク] ページで、[ エージェント ジョブ 1] の横にあるプラス記号を選択します。 コマンド ラインを検索します。

  3. タスクに 表示名 を付け、次のスクリプトを入力します。 スクリプトは、実際のプロジェクト ファイル名とテスト構成ファイルのパスに合わせて変更してください。

    テスト ケースを追加および構成する方法の詳細については、 自動テストの手順 を参照してください。

    azure-streamanalytics-cicd test -project $(projectRootPath)/asaproj.json -outputpath $(projectRootPath)/$(outputPath)/$(testPath) -testConfigPath $(projectRootPath)/test/testConfig.json 
    

    Azure Pipelines タスク構成のスクリーンショット.

ファイルのコピー タスクを追加する

テスト概要ファイルとAzure Resource Managerテンプレート ファイルを成果物フォルダーにコピーするコピー ファイル タスクを追加します。

  1. [タスク] ページで、[+] の横にあるを選択します。 コピー ファイルを検索します。 次の構成を入力します。 **を Contents に割り当てることで、テスト結果のすべてのファイルがコピーされます。

    パラメーター 入力
    表示名 ファイルのコピー先: $(build.artifactstagingdirectory)
    元フォルダー $(system.defaultworkingdirectory)/$(outputPath)/
    内容 **
    ターゲット フォルダー $(build.artifactstagingdirectory)
  2. [コントロール オプション] を展開しますこのタスクの実行では、前のタスクが失敗しても、ビルドが取り消されていない限りを選択します。

    ソース、コンテンツ、およびターゲット フォルダー フィールドが入力されたファイルのコピー ステップを示すAzure DevOps パイプライン タスク設定のスクリーンショット。

ビルド成果物の公開タスクを追加する

  1. [ タスク] ページで、[ エージェント ジョブ 1] の横にあるプラス記号を選択します。 [ビルド成果物の発行] を検索し、黒い矢印アイコンを使用してオプションを選択します。

  2. [コントロール オプション] を展開します。 [このタスクの実行] でビルドが取り消されていない限り、前のタスクが失敗した場合でも選択します。

    コントロール オプションが展開されたビルド成果物設定の発行を示すAzure Pipelines タスク エディターのスクリーンショット。

保存と実行

npm パッケージの追加、コマンド ライン、ファイルのコピー、ビルド成果物タスクの発行が完了したら、[ 保存] と [キュー] を選択します。 メッセージが表示されたら、保存コメントを入力し、[ 保存して実行] を選択します。 パイプラインの [概要] ページからテスト結果をダウンロードできます。

ビルドとテストの結果を確認する

テストの概要ファイルとAzure Resource Managerテンプレート ファイルは、Published フォルダーにあります。

手動実行の詳細、リポジトリ情報、経過時間、公開されたテスト結果リンクを示すAzure Pipelines概要ページのスクリーンショット。

ビルドとテストの結果のフォルダーとファイルを含む [発行済み] タブを示すAzure Artifacts ページのスクリーンショット。

Azure Pipelinesを使用したリリース

このセクションでは、リリース パイプラインを作成する方法について説明します。

Web ブラウザーを開き、Azure Stream Analytics Visual Studio Code プロジェクトに移動します。

  1. 左側 ナビゲーション メニューの [パイプライン] で、[ リリース] を選択します。 新しいパイプラインを選択します。

  2. [ 空のジョブで開始] を選択します

  3. [成果物] ボックス 、[ + 成果物の追加] を選択します。 [ ソース] で、作成したビルド パイプラインを選択し、[ 追加] を選択します。

    ビルド ソースの種類が選択され、ビルド パイプライン フィールドが完了したことを示すAzure Pipelinesの [成果物の追加] ダイアログのスクリーンショット。

  4. ステージ 1 の名前をテスト環境にジョブをデプロイするように変更します。

  5. 新しいステージを追加し、運用環境 にジョブをデプロイするという名前を付けます。

デプロイ タスクを追加する

注記

Override テンプレート パラメーター オプションは、Azure Resource Manager v2 ビルドには適用されません。これは、プロセスでパラメーターがオブジェクトとして渡されるためです。 この制限を回避するには、パラメーター ファイルを JSON として読み取り、必要なパラメーター変更を行う PowerShell スクリプトをパイプラインに追加します。

PowerShell スクリプトの追加の詳細については、「 ConvertFrom-Json 」および「 JSON ファイルのオブジェクトの更新」を参照してください。

  1. [タスク] ドロップダウンから、[ Deploy job to test environment]\(テスト環境にジョブをデプロイする\) を選択します。

  2. +の横にあるを選択し、ARM テンプレートのデプロイを検索します。 次のパラメーターを入力します。

    パラメーター
    表示名 myASAProject をデプロイする
    Azure サブスクリプション サブスクリプションを選択します。
    アクション リソース グループを作成または更新する
    リソース グループ Stream Analytics ジョブを含むテスト リソース グループの名前を選択します。
    場所 テスト リソース グループの場所を選択します。
    テンプレートの場所 Linked artifact (リンクされた成果物)
    テンプレート $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    テンプレート パラメーター $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    テンプレート パラメーターのオーバーライド -<arm_template_parameter> "your value"。 変数を使用してパラメーターを定義 します
    展開モード インクリメンタル
  3. [タスク] ドロップダウンから、[ ジョブを運用環境にデプロイ] を選択します。

  4. +の横にあるを選択し、ARM テンプレートのデプロイを検索します。 次のパラメーターを入力します。

    パラメーター
    表示名 myASAProject をデプロイする
    Azure サブスクリプション サブスクリプションを選択します。
    アクション リソース グループを作成または更新する
    リソース グループ Stream Analytics ジョブを含む運用リソース グループの名前を選択します。
    場所 運用リソース グループの場所を選びます。
    テンプレートの場所 リンクされた成果物
    テンプレート $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.json
    テンプレート パラメーター $(System.DefaultWorkingDirectory)/_azure-streamanalytics-cicd-demo-CI-Deploy/drop/myASAProject.JobTemplate.parameters.json
    テンプレート パラメーターのオーバーライド -<arm_template_parameter> "your value"
    展開モード インクリメンタル

リリースを作成する

リリースを作成するには、右上隅にある [ リリースの作成 ] を選択します。

成果物、ステージ、および [リリースの作成] ボタンが強調表示されたAzure Pipelinesリリース パイプラインのスクリーンショット。