次の方法で共有


独立したパッケージ SDK のビルド パイプラインの設定

この記事では、Microsoft Dynamics 365 Commerce ソフトウェア開発キット (SDK) のビルド パイプラインを設定する方法について説明します。 このパイプラインを使用すると、新しい独立した拡張モデルを使用して、拡張コード用のクラウド スケール ユニット (CSU) パッケージとセルフサービスデプロイ可能パッケージを生成できます。

この記事は、Commerce SDK 10.0.19 以降に適用されます。 この記事で説明する手順は、Microsoft Dynamics ライフサイクル サービス (LCS) の開発者仮想マシン (VM) から以前のバージョンの Retail SDK を使用している場合は機能しません。 この記事の情報は、新しい独立した拡張モデル (つまり、パブリック フィードからパッケージを消費している場合) と、独立系梱包および拡張機能モデルを使用している場合に適用されます。

クラウド スケール ユニット拡張機能パッケージを生成するようにAzure DevOpsでビルド パイプラインを設定する

Azure DevOpsでビルド パイプラインを設定して Cloud Scale Unit 拡張機能パッケージを生成するには、次の手順に従います。

  1. Microsoft Azure DevOps 組織にサインインします。

  2. パイプラインを選び、新しいパイプラインを選択します。

  3. 拡張コードのソース リポジトリ (リポジトリ) を選択します。

  4. 既存の Azure Pipelines YAML ファイル を選択」。

  5. Dynamics365Commerce.ScaleUnit GitHub リポジトリからbuild-pipeline.yml ファイルを選択または取得します。

    メモ

    YAML ファイルは、Dynamics365Commerce.ScaleUnit GitHub リポジトリの Pipeline/PowerShellScripts ディレクトリ内のいくつかのスクリプトを参照します。 これら全てのスクリプトをリポジトリに含めてください。 サンプル リポジトリをクローンする場合、すべてのスクリプトが既に含まれています。

  6. 続行 を選択します。

    YAML ファイルのスクリプトはソリューション全体を構築し、アウトプット (CloudScaleUnitExtensionPackage.zip パッケージ) をビルド用に公開済みアーティファクトのドロップ ロケーションにアップロードします。

    メモ

    YAML ファイルはリポジトリのソリューション ファイルを検索し、ソリューションを構築して、CloudScaleUnitExtensionPackage.zip パッケージを検索します。 したがって、拡張機能プロジェクトと梱包プロジェクトがソリューションにリンクされている必要があります。 拡張機能プロジェクトをモデル化する方法については、Dynamics365Commerce.ScaleUnit GitHub リポジトリのサンプルを参照してください。

  7. 変更を保存し、キューにビルドを追加します。

  8. ビルドが完了したら、発行された成果物から ScaleUnitPackage_(Build.BuildNumber).zip パッケージをダウンロードできます。

Cloud Scale Unit 拡張パッケージのリリース パイプラインを設定

ベスト プラクティスとして、個別のビルド パイプラインとリリース パイプラインを設定します。 個別のリリース パイプラインを作成する場合は、LCS の資産のアップロードを使い、CloudScaleUnitExtensionPackage.zip パッケージをアセット ライブラリにアップロードできます。 別のリリース パイプラインにではなく、LCS にアップロードする場合は、タスクをビルド パイプラインの一部として追加できます。

LCS のアセット ライブラリに CloudScaleUnitExtensionPackage.zip パッケージをアップロードするようにリリース パイプラインを設定するには、次の手順に従います。

  1. Azure DevOpsで、Releases を選択し、New pipeline を選択し、テンプレートで 空のジョブ を選択します。

  2. 新しいリリース パイプラインの名前を入力します。 既定の名前は、アプリ パイプライン 新しいリリース パイプラインです。

  3. パイプラインで、コンポーネントを追加を選択します。

  4. コンポーネントを追加ダイアログ ボックスでプロジェクトを選び、以前のセクションで作成したビルド パイプラインを選択します。

  5. 省略可能: 作成した成果物で、[ トリガー ] ボタン (稲妻記号) を選択し、継続的デプロイ トリガーを有効にして、ブランチを選択します。

    メモ

    リリース パイプラインには、リリースのトリガー時期と方法が指定できる他のオプションも用意されています。

  6. 保存を選択して、パイプラインを保存します。 フォルダ名の入力を求めるメッセージが表示された場合は、任意のフォルダ名を入力します。

  7. ステージを選び、ステージ 1LCS に資産をアップデートの名前を変え、ジョブ 1 を選択します。

  8. タスクで、エージェント ジョブを選択します。

  9. タスクの追加で、Dynamics ライフサイクル サービス (LCS) アセットのアップロードを検索し、Add を選択します。

  10. Azure Pipelines を使用して、Upload assets の手順に従って、アップロード タスクを設定します。 タスクで、次の値を設定します。

    • 資産のタイプ: CloudScaleUnitExtensionPackage

    • アップロードするファイル: $(System.DefaultWorkingDirectory)/_ScaleUnit-CI/drop/ScaleUnitPackage_$(Release.Artifacts._ScaleUnit-CI.BuildNumber).zip

    • LCS 資産名: ScaleUnitPackage_$(Release.Artifacts._ScaleUnit-CI.BuildNumber)

      メモ

      資産名は、名前付けガイドラインに従って変更できます。

  11. タスクの構成が完了したら、[ 保存] を選択してリリース パイプラインを保存します。

  12. パイプラインタブでパイプラインを選び、リリースの作成を選択します。

  13. 新しいリリースの作成ダイアログ ボックスで、Cloud Scale Unit コンポーネントを選び、作成からリリースを手動でトリガーします。

リリース パイプラインを自動化するには、継続的ビルドを構成します。 詳細については、リリースパイプラインのドキュメントを参照します。

Commerce セルフサービス パッケージを生成するようにAzure DevOpsでビルド パイプラインを設定する

Store POS、ハードウェア ステーション、クラウド スケール ユニット (セルフホステッド) インストーラーを生成するには、次の手順に従います。

  1. Azure DevOps組織にサインインします。

  2. パイプラインを選び、新しいパイプラインを選択します。

  3. ソース リポジトリを選択します。

  4. Existing Azure Pipelines YAML ファイル を選択>。

  5. Dynamics365Commerce.InStore GitHub リポジトリの Pipeline/YAML_Files ディレクトリから YAML ファイル (build-pipeline.yml を選択します。

    メモ

    YAML ファイルは、Dynamics365Commerce.InStore GitHub リポジトリの Pipeline/PowerShellScripts ディレクトリ内のいくつかのスクリプトを参照します。 これら全てのスクリプトをリポジトリに含めてください。 サンプル リポジトリをクローンする場合、すべてのスクリプトが既に含まれています。

  6. 続行 を選択します。

    YAML ファイルには、証明書を使用して 店舗の POS および Hardware Station インストーラーに署名する手順が示されています。 スクリプトは、Azure Key Vaultで証明書ファイルを検索し、その証明書ファイルを使用して署名します。 Azure Key Vaultから証明書を読み取る場合は、アプリケーション ID、シークレット、証明書名、タイムスタンプ サーバーの詳細を指定する必要があります (タイムスタンプを使用して証明書に署名するため)。 詳細については、「Azure ポータルを使用して証明書を設定し、Azure Key Vaultから証明書を取得するを参照してください。

    パイプライン内のキー コンテナーとタイムスタンプ サーバーの詳細を表示するには、ビルド パイプラインの変数タブに次の変数を作成し、その値を指定します。 変数をセキュリティで保護するには、変数の種類として [シークレット ] を選択します。

    • ApplicationId

    • AzureKeyVaultURI

    • 証明書名

    • SecretValue

    • タイムスタンプ

      この変数の値として、 の通り、タイムスタンプ プロバイダを指定できます。

    Azureに証明書を保存していない場合は、Secure タスク オプションまたはAzure Pipelinesサポートされているその他のオプションを使用してインストーラーに署名できます。

    インストーラーに署名しない場合は、YAML ファイルから署名手順を削除します。 YAML ファイルで、PowerShell@2 タスクを検索して、削除します。

    YAML ファイルのスクリプトはソリューション全体を構築し、アウトプット (HardwareStation.Installer.exe および ModernPos.Installer.exe パッケージ) をビルド用に公開済みアーティファクトのドロップ ロケーションにアップロードします。

    メモ

    YAML ファイルはリポジトリのソリューション ファイルを検索し、ソリューションを構築して、HardwareStation.Installer.exe および ModernPos.Installer.exe パッケージを検索します。 したがって、拡張機能プロジェクトと梱包プロジェクトがソリューションにリンクされている必要があります。 拡張機能プロジェクトをモデル化する方法については、Dynamics365Commerce.InStore GitHub リポジトリのサンプルを参照してください。

  7. 変更を保存し、キューにビルドを追加します。

  8. ビルドが完了したら、発行された成果物から HardwareStation.Installer.exe パッケージと ModernPos.Installer.exe パッケージをダウンロードできます。

Commerce セルフサービス パッケージのリリース パイプラインの設定

ベスト プラクティスとして、個別のビルド パイプラインとリリース パイプラインを設定します。 個別のリリース パイプラインを作成する場合は、LCS の資産のアップロードを使い、HardwareStation.Installer.exe および ModernPos.Installer.exe パッケージをアセット ライブラリにアップロードできます。 別のリリース パイプラインにではなく、LCS にアップロードする場合は、タスクをビルド パイプラインの一部として追加できます。

LCS のアセット ライブラリに HardwareStation.Installer.exe パッケージと ModernPos.Installer.exe パッケージをアップロードするようにリリース パイプラインを設定するには、次の手順に従います。

  1. Azure DevOpsで、リリース を選択し、新しいパイプライン を選択し、テンプレートで 空のジョブ を選択します。

  2. 新しいリリース パイプラインの名前を入力します。 既定の名前は、アプリ パイプライン 新しいリリース パイプラインです。

  3. パイプラインで、コンポーネントを追加を選択します。

  4. コンポーネントを追加ダイアログ ボックスで、リポジトリ プロジェクトを選び、以前のセクションで作成したビルド パイプラインを選択します。

  5. 省略可能: 作成した成果物で、[ トリガー ] ボタン (稲妻記号) を選択し、継続的デプロイ トリガーを有効にして、ブランチを選択します。

    メモ

    リリース パイプラインには、リリースのトリガー時期と方法が指定できる他のオプションも用意されています。

  6. 保存を選択して、パイプラインを保存します。 フォルダ名の入力を求めるメッセージが表示された場合は、任意のフォルダ名を入力します。

  7. ステージを選び、ステージ 1LCS に資産をアップデートの名前を変え、ジョブ 1 を選択します。

  8. タスクで、エージェント ジョブを選択します。

  9. タスクの追加で、Dynamics ライフサイクル サービス (LCS) アセットのアップロードを検索し、Add を選択します。

  10. アップロード タスクを完全に設定するには、Azure Pipelines を使用して 手順に従ってアセットをアップロードする を参照してください。 タスクで、次の値を設定します。

    • 資産のタイプ: 小売業自動サービスパッケージ
    • アップロードするファイル: $(System.DefaultWorkingDirectory)/_CommerceSDK-Signing-EXE/drop/Installer_$(Release.Artifacts._CommerceSDK-Signing-EXE.BuildNumber).exe
    • LCS 資産名: Installer_$(Release.Artifacts._CommerceSDK-Signing-EXE.BuildNumber)
  11. タスクの構成が完了したら、[ 保存] を選択してリリース パイプラインを保存します。

  12. パイプラインタブでパイプラインを選び、リリースの作成を選択します。

  13. 新しいリリースの作成ダイアログ ボックスで、コンポーネントを選び、作成からリリースを手動でトリガーします。

リリース パイプラインを自動化するには、継続的ビルドを構成します。 詳細については、リリースパイプラインのドキュメントを参照します。