次の方法で共有


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

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

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

Azure DevOps のビルド パイプラインを設定し、Cloud Scale Unit 拡張パッケージを生成

クラウド スケール ユニット拡張機能パッケージを生成するように Azure DevOps でビルド パイプラインを設定するには、次の手順に従います。

  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 で、リリースから新しいパイプラインを選び、テンプレートの空のジョブを選択します。

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

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

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

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

    メモ

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

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

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

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

  9. タスクの追加で、Dynamics Lifecycle Services (LCS) 資産のアップロードを検索し、追加を選択します。

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

    • 資産のタイプ: 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. 既存の 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 Key Vault から Azure ポータルを使用して証明書を設定および取得 を参照します。

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

    • ApplicationId

    • AzureKeyVaultURI

    • 証明書名

    • SecretValue

    • タイムスタンプ

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

    Azure に証明書を保存していない場合は、 セキュリティで保護されたタスク オプションまたは 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 Lifecycle Services (LCS) 資産のアップロードを検索し、追加を選択します。

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

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