페이지_유형 | 언어 | 제품 | 이름 | 설명 | |||
---|---|---|---|---|---|---|---|
견본 |
|
| Commerce POS, HWS, Headless Commerce API 및 Commerce 런타임을 확장합니다. | 이 리포지토리에는 Dynamics 365 Commerce POS, 하드웨어 스테이션, Headless Commerce API 및 Commerce 런타임을 확장하는 방법에 대한 샘플 코드가 포함되어 있습니다. |
이 리포지토리에는 POS, Hardware Station(HWS) 및 Commerce Runtime(CRT), Headless Commerce API 및 채널 데이터베이스를 사용자 정의하는 방법에 대한 샘플 코드가 포함되어 있습니다. 이는 샘플일 뿐이며 Dynamics 365 Commerce 확장을 개발하기 위해 이 리포지토리를 복제할 필요는 없습니다. 이 항목은 Dynamics 365 Commerce 응용 프로그램 버전 10.0.18 이상에 적용됩니다.
이 파일은 InStore 샘플 리포지토리의 구조를 설명하고 Dynamics 365 Commerce 확장 개발을 위한 공개 피드에서 Commerce SDK 너겟 패키지를 참조하도록 리포지토리를 설정하는 방법을 설명합니다. Dynamics 365 Commerce 개발에 대한 추가 리소스를 보려면 당사 문서 사이트를 방문하십시오.
이 프로세스에는 미리 구성된 특정 환경이나 가상 머신이 필요하지 않습니다. 비교적 최신 버전의 Windows가 설치된 모든 시스템에서 개발 및 테스트를 수행할 수 있습니다. 최신 POS 개발이 필요하지 않은 경우 Windows 10, Windows Server 2016/2019를 활용할 수 있습니다. Sealed Modern POS 개발이 필요한 경우 다음 필수 구성 요소를 설치하세요. 개발 환경 전제조건에 대한 자세한 내용은 이 문서를 참조하세요.
샘플 InStore 저장소에는 nuget.config, repo.props, CustomizationPackage.props 및 확장이 저장소 메타데이터 파일을 설정하는 방법에 대한 지침을 제공하는 빌드 파이프라인 스크립트가 포함되어 있습니다.
접는 사람 | 설명 |
---|---|
HardwareStation샘플 | 이 프로젝트에는 하드웨어 스테이션, 결제 확장 프로그램 및 확장 설치 프로그램을 만드는 방법에 대한 샘플이 포함되어 있습니다. |
상점상거래샘플 | 이 폴더에는 다양한 사용자 정의 시나리오를 달성하기 위해 Store Commerce 앱을 확장하는 방법을 보여주는 샘플이 포함되어 있습니다. |
포장샘플 | 이 폴더에는 적절한 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에 패키지 소스 위치를 추가할 수 있습니다.
<패키지 소스> <키 추가="dynamics365-commerce" value="https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json" /> <키 추가="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 | 이 패키지에는 확장 애플리케이션이 온라인 모드(Headless Commerce에 연결됨)에서 Headless Commerce 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 조지아 |
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 " 버전="9.52.xx" />
또는
<PackageReference include="Microsoft.Dynamics.Commerce.Sdk.Pos " 버전="9.52.*" />
모든 핫픽스 및 새 애플리케이션 릴리스를 통해 패키지의 새 버전이 동일한 공개 피드에 게시되며, 라이브에 필요한 버전에 따라 올바른 패키지 버전을 사용합니다. 실제 애플리케이션 버전보다 높은 버전의 패키지를 사용하면 런타임 및 배포 오류가 발생할 수 있습니다.
빌드 자동화 및 패키지 생성을 위해 Azure DevOps 파이프라인을 설정합니다.
Commerce SDK용 빌드 파이프라인 설정
모범 사례 및 분기 전략:
Git 분기 전략에 대한 자세한 내용은 Git 분기 전략 문서를 참조하세요.
다음 분기 전략은 Microsoft에서 Git을 사용하는 방식을 기반으로 합니다. 자세한 내용은 Microsoft에서 Git을 사용하는 방법을 참조하세요.
지점 전략을 단순하게 유지하세요. 다음 세 가지 개념을 바탕으로 전략을 구축하세요.
모든 새로운 기능과 버그 수정을 위해 기능 분기를 사용하세요.
풀 요청을 사용하여 기능 분기를 기본 분기에 병합합니다.
고품질의 최신 메인 브랜치를 유지하세요.
개발 및 버그 수정을 위한 새로운 기능 분기를 만듭니다.
확장을 위한 새로운 기능 메인 브랜치를 생성하고 적절한 명명 규칙을 따릅니다(샘플 명명 규칙은 Git 분기 문서 참조).
새 개발 브랜치를 만듭니다.
개발을 위한 비공개 브랜치를 만듭니다.
git checkout -b 비공개/{사용자 이름}/{기능/설명}
git -add 를 사용하여 개발 브랜치에 새로운 변경 사항을 추가하고 커밋합니다. git commit -m" 커밋 메시지."
개발이 완료되고 테스트되고 검증된 후 git push <remote>를 수행하여 변경 사항을 기본 분기에 푸시합니다. <브랜치>
git push Origin {프라이빗 브랜치 이름}
개발 후 릴리스 브랜치를 만듭니다.
개발 변경 사항이 메인 브랜치에 푸시된 후 새 릴리스 브랜치를 생성하고 릴리스 브랜치에서 배포 가능한 패키지를 생성합니다.
Git 체크아웃 -b release/xxx
릴리스 브랜치에서 변경 사항이 발생한 경우 릴리스 브랜치의 변경 사항을 다시 메인 브랜치에 병합하세요.
- git checkout master git merge release/x.x.x
확장 핫픽스 분기:
릴리스 브랜치와 마찬가지로 메인 브랜치에서 확장을 위한 핫픽스 브랜치를 생성하고 수정 사항을 릴리스한 후 나중에 변경 사항을 다시 메인 브랜치에 병합합니다.
새 릴리스 브랜치를 기본 및 개발 브랜치에 병합합니다.
새 버전의 샘플이 출시된 후 필요한 경우 개발 분기를 새 분기와 병합하세요. 저장소에는 샘플만 포함되어 있으므로 항상 분기에서 업데이트된 변경 사항을 가져올 필요는 없습니다.
- git checkout master git merge release/x.x.x