ページタイプ | 言語 | 製品 | 名前 | 説明 | |||
---|---|---|---|---|---|---|---|
サンプル |
|
| Commerce POS、HWS、Headless Commerce API、および Commerce ランタイムを拡張します。 | このリポジトリには、Dynamics 365 Commerce POS、ハードウェア ステーション、ヘッドレス コマース API、およびコマース ランタイムを拡張する方法に関するサンプル コードが含まれています。 |
このリポジトリには、POS、ハードウェア ステーション (HWS) およびコマース ランタイム (CRT)、ヘッドレス コマース API、およびチャネル データベースをカスタマイズする方法のサンプル コードが含まれています。これらは単なるサンプルであり、Dynamics 365 Commerce 拡張機能を開発するためにこのリポジトリを複製する必要はないことに注意してください。このトピックは、Dynamics 365 コマース アプリケーションのバージョン 10.0.18 以降に適用されます。
このファイルでは、InStore サンプル リポジトリの構造について説明し、Dynamics 365 Commerce 拡張機能開発用のパブリック フィードから Commerce SDK nuget パッケージを参照するリポジトリを設定する方法について説明します。 Dynamics 365 Commerce 開発に関する追加リソースについては、ドキュメント サイトをご覧ください。
このプロセスには、事前に構成された特定の環境や仮想マシンは必要ありません。開発とテストは、比較的新しいバージョンの Windows を搭載した任意のマシンで実行できます。 Modern POS 開発が必要ない場合は、Windows 10、Windows Server 2016/2019 を利用できます。 Sealed Modern POS 開発が必要な場合は、これらの前提条件をインストールしてください。開発環境の前提条件の詳細については、この記事を参照してください。
サンプル InStore リポジトリには、nuget.config、repo.props、CustomizationPackage.props、および拡張機能がリポジトリ メタデータ ファイルをセットアップする方法に関するガイダンスを提供するビルド パイプライン スクリプトが含まれています。
フォルダ | 説明 |
---|---|
ハードウェアステーションサンプル | このプロジェクトには、ハードウェア ステーション、支払い拡張機能、拡張機能インストーラーの作成方法に関するサンプルが含まれています。 |
ストアコマースサンプル | このフォルダーには、ストア コマース アプリを拡張してさまざまなカスタマイズ シナリオを実現する方法を示すサンプルが含まれています。 |
包装サンプル | このフォルダーには、適切な Commerce コンポーネントのパッケージ/インストーラーを作成するために Commerce SDK ソリューションを構築する方法を示すサンプルが含まれています。 |
パイプライン | YAML および PowerShell スクリプト ファイル |
Dynamics365Commerce.ScaleUnit リポジトリには、Headless Commerce API や Commerce Runtime などの Headless Commerce 拡張機能の開発シナリオに焦点を当てた追加のサンプルが含まれています。
このリポジトリの各サンプルには、次の情報を含む readme.md ファイルが付属しています。
機能の説明
サンプルをビルドして実行する手順
サンプルで使用される Commerce API と拡張ポイントのリストと、それらの機能の説明。
Commerce API と機能領域の関連ドキュメントへのリンク
機能の gif またはスクリーンショット (該当する場合)
Commerce チームには、このリポジトリ内のすべてのサンプルが正常にビルドされることを検証するビルド自動化機能がありますが、これらのサンプルがソフトウェア開発中によくある問題なく常にビルドおよび実行されることを保証するものではありません。 InStore サンプルまたは Commerce SDK で問題が発生した場合は、この Github リポジトリの問題セクションを検索して、既知の問題かどうかを確認してください。すでに修正または回避策が提供されている可能性があります。
問題セクションに問題がリストされていない場合は、直面している問題の詳細を記載した新しい問題を作成してください。これにより、Commerce SDK とこれらのサンプルを使用するすべてのユーザーが可能な限り最高のエクスペリエンスを得ることができ、すべての既知の問題がオンラインで検索できるようになります。私たちはこれらの問題を監視し、できるだけ早く対応します。
注: 最適なエクスペリエンスを実現するには、問題セクションの使用を Commerce SDK および InStore サンプルに関する問題を報告する目的に限定してください。
リポジトリ内のブランチは Dynamics 365 Commerce アプリケーション リリースごとに編成されており、リポジトリ内の各ブランチは Dynamics 365 Commerce のアプリケーション リリースを指します。ゴーライブ バージョンに基づいて適切なリリース ブランチを使用してください。
リリースブランチ名 | バージョン | アプリケーションのリリースバージョン |
---|---|---|
発売/9.49 | 9.49.* | 10.0.39 |
発売/9.50 | 9.50.* | 10.0.40 |
発売/9.51 | 9.51.* | 10.0.41 |
発売/9.52 | 9.52.* | 10.0.42 |
コマース コントラクト、メッセージ、エンティティ、および要求パッケージは、既存の機能を使用してカスタマイズしたり、Dynamics 365 Commerce 製品の新しい機能を構築したりするためのコマース拡張コードのこのパブリック フィードで公開されます。
この場所からコマース パッケージを使用すると、拡張機能は拡張プロジェクト ファイルの nuget.config にパッケージ ソースの場所を追加できます。
<パッケージソース> <add key="dynamics365-commerce" value="https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </パッケージソース>
パッケージ名 | 説明 |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | このパッケージは、CSU で DB パッケージを生成するために必要です。 |
Microsoft.Dynamics.Commerce.Sdk.Runtime | このパッケージには、すべてのコマース ランタイム ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | このパッケージは、展開用の CSU パッケージを生成するために必要です。 |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | このパッケージは、展開用の ScaleUnit パッケージを生成するために必要です |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | このパッケージには、すべてのコマース ハードウェア ステーションと周辺機器ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Sdk.Installers | このパッケージにはすべてのインストーラー ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | このパッケージは、展開用のハードウェア ステーション パッケージを生成するために必要です |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | このパッケージは、Store Commerce 拡張機能インストーラーを生成するために必要です。 |
Microsoft.Dynamics.Commerce.Sdk.Pos | このパッケージにはすべての POS ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | このパッケージは、展開用の POS 拡張機能インストーラーを生成するために必要です |
Microsoft.Dynamics.Commerce.Diagnostics | このパッケージにはすべての診断ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.Data | このパッケージにはすべてのデータ コントラクト ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | このパッケージには、すべてのデータ サービス メッセージ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.Entities | このパッケージには、すべてのコマース エンティティ定義が含まれています |
Microsoft.Dynamics.Commerce.Runtime.Framework | このパッケージには、すべてのコマース フレームワーク ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contracts | このパッケージには、すべてのコマース コントローラー ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.Messages | このパッケージには、すべてのコマース ランタイム メッセージ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | このパッケージには、すべてのコマース リアル ランタイム ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | このパッケージには、すべてのコマース サービス メッセージ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.HardwareStation.Core | このパッケージにはすべての HWS ライブラリが含まれています |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | このパッケージには、すべての HWS ペリフェラル リクエスト ライブラリが含まれています |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contracts | このパッケージには、すべての HWS ペリフェラル コントラクト ライブラリが含まれています |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entities | このパッケージには、すべての HWS ペリフェラル エンティティ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Installers.Framework | このパッケージには、すべてのインストーラー フレームワーク ライブラリが含まれています |
Microsoft.Dynamics.Commerce.KeyVault.Contracts | このパッケージには、すべての Key Vault コントラクト ライブラリが含まれています |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | このパッケージには、すべての支払い拡張ライブラリが含まれています |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | このパッケージにはすべての支払いライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | このパッケージには、すべての FIF コネクタ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | このパッケージには、すべての FIF ドキュメント プロバイダー ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | このパッケージには、すべてのデータベース インストーラー フレームワーク ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | このパッケージには、すべての DB ユーティリティ ライブラリが含まれています |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | このパッケージには、すべての拡張プロキシ ジェネレーター ユーティリティが含まれています |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | このパッケージには、オンライン モード (ヘッドレス コマースに接続) でヘッドレス コマース API を使用するための拡張アプリケーションのすべてのプロキシ クラスが含まれています。 |
パッケージバージョン | アプリケーションリリース |
---|---|
9.49.xx-プレビュー | 10.0.39 PEAP リリース |
9.49.xx | 10.0.39 顧客プレビュー |
9.49.xx | 10.0.39 GA |
9.50.xx-プレビュー | 10.0.40 PEAP リリース |
9.50.xx | 10.0.40 顧客プレビュー |
9.50.xx | 10.0.40 GA |
9.51.xx-プレビュー | 10.0.41 PEAP リリース |
9.51.xx | 10.0.41 顧客プレビュー |
9.51.xx | 10.0.41 GA |
9.52.xx-プレビュー | 10.0.42 PEAP リリース |
9.52.xx | 10.0.42 顧客プレビュー |
9.52.xx | 10.0.42 GA |
拡張機能プロジェクトは、完全なバージョン番号を持つプロジェクトにパッケージ参照を追加するか、ワイルド カードを使用して常に最新バージョンを取得することにより、正しいバージョンを使用できます。推奨オプションは、完全なバージョン番号を使用し、ゴーライブ バージョンに基づいてバージョンを更新することです。 。
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.xx" />
または
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos " Version="9.52.*" />
ホットフィックスと新しいアプリケーションがリリースされるたびに、パッケージの新しいバージョンが同じパブリック フィードで公開され、本番稼働に必要なバージョンに基づいて適切なパッケージ バージョンを使用します。稼働中のアプリケーションのバージョンよりも高いバージョンのパッケージを使用すると、実行時およびデプロイメントでエラーが発生する可能性があります。
ビルド自動化とパッケージ生成のために Azure DevOps パイプラインをセットアップします。
Commerce SDK のビルド パイプラインをセットアップする
ベスト プラクティスと分岐戦略:
git ブランチング戦略の詳細については、Git ブランチング戦略のドキュメントを参照してください。
次の分岐戦略は、Microsoft での Git の使用方法に基づいています。詳細については、「Microsoft での Git の使用方法」を参照してください。
ブランチ戦略はシンプルにしてください。次の 3 つの概念に基づいて戦略を構築します。
すべての新機能とバグ修正には機能ブランチを使用します。
プル リクエストを使用して、機能ブランチをメイン ブランチにマージします。
高品質で最新のメイン ブランチを維持します。
開発とバグ修正のために新しい機能ブランチを作成します。
拡張機能の新しい機能のメイン ブランチを作成し、適切な命名規則に従ってください (サンプルの命名規則については、Git ブランチのドキュメントを参照してください)。
新しい開発ブランチを作成します。
開発用のプライベート ブランチを作成します。
git checkout -b private/{ユーザー名}/{機能/説明}
git -add を使用して、開発ブランチに新しい変更を追加してコミットします。そして git commit -m" コミットメッセージ。"
開発が完了、テスト、検証されたら、 git Push <remote> を実行して変更をメイン ブランチにプッシュします。 <支店>
git Push オリジン {プライベート ブランチ名}
開発後にリリース ブランチを作成します。
開発の変更がメイン ブランチにプッシュされた後、新しいリリース ブランチを作成し、リリース ブランチからデプロイ可能なパッケージを作成します。
Git チェックアウト -b release/xxx
リリース ブランチで変更が行われた場合は、リリース ブランチからの変更をメイン ブランチにマージして戻します。
- git checkout master git merge release/x.x.x
拡張ホットフィックス ブランチ:
リリース ブランチと同様に、メイン ブランチから拡張用のホットフィックス ブランチを作成し、修正をリリースしてから、変更をメイン ブランチにマージして戻します。
新しいリリース ブランチをメイン ブランチと開発ブランチにマージします。
サンプルの新しいバージョンがリリースされた後、必要に応じて、開発ブランチを新しいブランチにマージします。リポジトリにはサンプルのみが含まれるため、ブランチから更新された変更を常に取得する必要はありません。
- git checkout master git merge release/x.x.x