次の方法で共有


Retail SDK ビルド パイプラインの設定

この記事では、Azure DevOps ビルド エージェント (Microsoft がホストしているエージェント) を使用して Retail SDK Azure DevOps のビルド パイプラインを設定する方法を説明します。 Retail SDK 用のビルドを生成する場合 Modern POS (MPOS) を除き、専用のビルド コンピューターは不要です。 この設定は、Azure DevOps ビルド エージェントと一緒に使用します。 この記事は、Retail SDK バージョン 10.0.11 およびそれ以上に適用されます。

前提条件

Retail SDKは、Azure Repos (Git リポジトリ)、GitHub、または Azure DevOps に追加する必要があります。 Retail SDKは、Lifecycle Services (LCS) の開発仮想機械 (VM) のサービス ボリューム ドライブで利用できます。 LCS に開発 VM をプロビジョニングするには、開発環境の配置とアクセスの手順に従います。

Azure DevOps の ビルド パイプラインの設定

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

  2. パイプライン新しいパイプラインの順に選択します。

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

  4. パイプラインをクリックし、パイプラインの名前を指定します。 エージェント プールの場合は、Azure パイプラインを選択します。 エージェントの詳細については、vs2017-win2016 と入力します。

  5. ソースの取得タブで、Retail SDK レポを選択します。

    ソースを取得します。

  6. エージェント ジョブ パネルで、表示名を指定します。 エージェント プールの場合、<パイプラインからの継承>を選択します。

    ホストされているエージェント。

  7. MSBuild タスクを追加します。 プロジェクトの場合は、RetailSDK\dirs.proj または RetailSDK\Code\dirs.proj を選択します。 選択は Retail SDK の構造によって異なります。 MSBuild のバージョンMSBuild 15.0に設定します。 MSBuild アーキテクチャMsBuild x86 に設定します。

    MSBuild タスクを追加します。

  8. PowerShell タスクを追加します (Linux、macOS、または Windows 上で Powershell のスクリプトを実行します)。 タスクの名前を指定します。 タイプに、インラインを選択します。

  9. スクリプト セクションで、このスクリプトをコピーして貼り付けます。

        # Script to copy the Retail deployable package with Build number.
    
        Copy-Item "$(Build.SourcesDirectory)\RetailSDK\Packages\RetailDeployablePackage\RetailDeployablePackage.zip" -Destination
        "$(Build.ArtifactStagingDirectory)\RetailDeployablePackage_$(Build.BuildNumber).zip"
    

    スクリプトを追加します。

  10. アーティファクトを公開タスクを追加します。 表示名およびアーティファクト名 (ドロップ名) を指定します。 発行のためのパス フィールドを $(Build.ArtifactStagingDirectory) に設定します。

    アーティファクトを公開します。

  11. 変更を保存して、ビルドをキューします。

  12. ビルドが完了すると、公開済みアーティファクトから配置可能パッケージをダウンロードできます。

    アーティファクトをダウンロードします。

パイプラインのサンプル YAML スクリプト

次の YAML スクリプトでパイプラインを指定します。

pool:
  name: Azure Pipelines
  demands: msbuild

steps:
- task: MSBuild@1
  displayName: 'Build solution RetailSDK/Code/dirs.proj'
  inputs:
    solution: RetailSDK/Code/dirs.proj
    msbuildVersion: 15.0

- powershell: |
   # Script to copy the Retail deployable package with Build number.

   Copy-Item "$(Build.SourcesDirectory)\RetailSDK\Packages\RetailDeployablePackage\RetailDeployablePackage.zip" -Destination
   "$(Build.ArtifactStagingDirectory)\RetailDeployablePackage_$(Build.BuildNumber).zip"

  displayName: 'Copy the Retail deployable package'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'

ビルド コンピューターを使用する Azure DevOps ビルド パイプラインの設定

ビルド コンピューターが Azure DevOps パイプラインで MSBuild を使用している場合は、ビルド コンピューターで次の手順に従って Retail SDK (Version 10.0.11) で接続できます。

  1. ビルド マシンに Visual Studio 2017 をインストールします。
  2. オプション: ビルド マシンで Visual Studio 2017 の開発者コマンド プロンプトから MSBuild (バージョン 15.0) を実行します。 Visual Studio 2017 の開発者コマンド プロンプトを開き、Retail SDK ルート フォルダーに移動して、msbuild dirs.proj コマンドを実行します。 コマンドが正常に完了していることを確認します。
  3. ビルド マシンで、MSBuild (バージョン 15.0) の環境変数を追加します。 システム プロパティ > 環境変数 > システム変数に移動します。 パス新規の順に選択し、MSBuild のパス変数を追加します。 その後、パス環境変数のエントリを一覧の一番上に移動します。 このパスは、Visual Studio 2017 にインストールした場所によって異なります。 MSBuild のパスを取得するために、Visual Studio 2017 の開発者コマンド プロンプトを開き、where msbuild コマンドを実行します。 たとえば、C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin のようなパスです。
  4. ビルド マシンで Azure DevOps ビルド エージェントを再起動します。
  5. Azure DevOps パイプラインで、エージェント プール フィールドを既定に設定し、MSBuild のバージョンを 15.0 以降に変更します。

トラブルシューティング

NuGet エラーで Azure DevOps のビルドに失敗した場合は、次の問題を確認してください。

  • Azure Pipeline は、NuGet 復元の MSBuild のバージョン 15.0 を使用していません。
  • 拡張機能プロジェクトは、パッケージ参照モデルを使用するようにアップグレードされていない必要があります。