tipo_de_página | idiomas | produtos | nome | descrição | |||
---|---|---|---|---|---|---|---|
amostra |
|
| Estenda as APIs Commerce POS, HWS e Headless Commerce e o tempo de execução do Commerce. | Este repositório contém o código de exemplo sobre como estender o Dynamics 365 Commerce POS, a estação de hardware, as APIs Headless Commerce e o tempo de execução do Commerce. |
Este repositório contém o código de exemplo sobre como personalizar o POS, a estação de hardware (HWS) e o tempo de execução do comércio (CRT), as APIs do Headless Commerce e o banco de dados do canal. Observe que estes são apenas exemplos e não é necessário clonar este repositório para desenvolver extensões do Dynamics 365 Commerce. Este tópico se aplica ao aplicativo de comércio Dynamics 365 versão 10.0.18 ou superior.
Este arquivo explica a estrutura do repositório de exemplos InStore e explica como configurar um repositório para fazer referência aos pacotes nuget do SDK do Commerce do feed público para o desenvolvimento da extensão do Dynamics 365 Commerce. Visite nosso site de documentação para obter recursos adicionais sobre o desenvolvimento do Dynamics 365 Commerce.
Este processo não requer um ambiente pré-configurado ou máquina virtual específica. O desenvolvimento e os testes podem ser feitos em qualquer máquina com uma versão relativamente moderna do Windows. Se você não precisar de desenvolvimento de PDV moderno, poderá aproveitar o Windows 10, Windows Server 2016/2019. Se você precisar do desenvolvimento do Sealed Modern POS, instale estes pré-requisitos. Para obter mais detalhes sobre os pré-requisitos do ambiente de desenvolvimento, consulte este artigo
O repositório InStore de amostra contém nuget.config, repo.props, CustomizationPackage.props e script de pipelines de construção que fornecem orientação sobre como a extensão pode configurar os arquivos de metadados do repositório.
Pasta | Descrição |
---|---|
Exemplo de estação de hardware | Este projeto contém exemplos de como criar estações de hardware, extensões de pagamento e instaladores de extensões. |
Exemplos de StoreCommerce | Esta pasta contém exemplos que demonstram como estender o aplicativo Store Commerce para obter vários cenários de personalização. |
Amostras de embalagem | Esta pasta contém exemplos que demonstram como estruturar sua solução Commerce SDK para criar pacotes/instaladores para os componentes Commerce apropriados. |
Gasoduto | Arquivos de script YAML e PowerShell |
O repositório Dynamics365Commerce.ScaleUnit contém exemplos adicionais focados em cenários de desenvolvimento de extensão Headless Commerce, como APIs Headless Commerce e Commerce Runtime.
Cada amostra neste repositório é acompanhada por um arquivo readme.md com as seguintes informações:
Uma descrição de sua funcionalidade
As etapas para criar e executar a amostra
A lista de APIs de comércio e pontos de extensão usados no exemplo e uma descrição do que eles fazem.
Um link para a documentação relevante das APIs de comércio e da área de recursos
Um gif ou captura de tela da funcionalidade, se aplicável
A equipe do Commerce possui automação de build que valida que todos os exemplos neste repositório sejam compilados com êxito, mas isso não garante que esses exemplos sempre serão compilados e executados sem problemas comuns durante o desenvolvimento de software. Se você encontrar um problema com os exemplos do InStore ou com o SDK do Commerce, pesquise a seção de problemas deste repositório do Github para ver se é um problema conhecido. Pode já haver uma correção ou solução alternativa disponível.
Se você não encontrar seu problema listado na seção de problemas, crie um novo problema com detalhes sobre o problema que você está enfrentando. Isso ajudará a garantir que todos os que usam o Commerce SDK e esses exemplos tenham a melhor experiência possível e que todos os problemas conhecidos possam ser pesquisados on-line. Monitoraremos esses problemas e ajudaremos assim que possível.
Observação: para obter a melhor experiência, limite o uso da seção de problemas para relatar problemas com o Commerce SDK e as amostras do InStore.
As ramificações no repo são organizadas pela versão do aplicativo Dynamics 365 Commerce, cada ramificação no repo aponta para uma versão do aplicativo do Dynamics 365 Commerce, use a ramificação de versão correta com base na sua versão de entrada em operação.
Liberar nome do branch | versão | Versão de lançamento do aplicativo |
---|---|---|
Lançamento/9.49 | 9h49.* | 10.0.39 |
Lançamento/9,50 | 9h50.* | 10.0.40 |
Versão/9.51 | 9.51.* | 10.0.41 |
Versão/9.52 | 9.52.* | 10.0.42 |
Contratos comerciais, mensagens, entidades e pacotes de solicitação são publicados neste feed público para código de extensão comercial para consumir e personalizar funcionalidades existentes ou criar novas funcionalidades para o produto Dynamics 365 Commerce.
Consumir os pacotes comerciais deste local, a extensão pode adicionar o local de origem do pacote no nuget.config do arquivo de projeto de extensão.
<fontesdepacote> <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" /> </packageSources>
Nome do pacote | Descrição |
---|---|
Microsoft.Dynamics.Commerce.Sdk.ChannelDatabase | Este pacote é necessário para gerar os pacotes de banco de dados com CSU. |
Microsoft.Dynamics.Commerce.Sdk.Runtime | Este pacote contém todas as bibliotecas de tempo de execução de comércio |
Microsoft.Dynamics.Commerce.Sdk.ScaleUnit | Este pacote é necessário para gerar o pacote CSU para implantação. |
Microsoft.Dynamics.Commerce.Sdk.Installers.ScaleUnit | Este pacote é necessário para gerar o pacote ScaleUnit para implantação |
Microsoft.Dynamics.Commerce.Sdk.HardwareAndPeripherals | Este pacote contém todas as bibliotecas de estações de hardware e periféricos comerciais |
Microsoft.Dynamics.Commerce.Sdk.Installers | Este pacote contém todas as bibliotecas de instaladores |
Microsoft.Dynamics.Commerce.Sdk.Installers.HardwareStation | Este pacote é necessário para gerar o pacote de estação de hardware para implantação |
Microsoft.Dynamics.Commerce.Sdk.Installers.StoreCommerce | Este pacote é necessário para gerar o instalador de extensões do Store Commerce. |
Microsoft.Dynamics.Commerce.Sdk.Pos | Este pacote contém todas as bibliotecas POS |
Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos | Este pacote é necessário para gerar o instalador da extensão POS para implantação |
Microsoft.Dynamics.Commerce.Diagnostics | Este pacote contém todas as bibliotecas de diagnóstico |
Microsoft.Dynamics.Commerce.Runtime.Data | Este pacote contém todas as bibliotecas de contratos de dados |
Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages | Este pacote contém todas as bibliotecas de mensagens de serviços de dados |
Microsoft.Dynamics.Commerce.Runtime.Entities | Este pacote contém todas as definições de entidades comerciais |
Microsoft.Dynamics.Commerce.Runtime.Framework | Este pacote contém todas as bibliotecas da estrutura de comércio |
Microsoft.Dynamics.Commerce.Runtime.Hosting.Contratos | Este pacote contém todas as bibliotecas de controladores de comércio |
Microsoft.Dynamics.Commerce.Runtime.Messages | Este pacote contém todas as bibliotecas de mensagens de tempo de execução de comércio |
Microsoft.Dynamics.Commerce.Runtime.RealtimeServices.Messages | Este pacote contém todas as bibliotecas de tempo de execução real do comércio |
Microsoft.Dynamics.Commerce.Runtime.Services.Messages | Este pacote contém todas as bibliotecas de mensagens de serviço comercial |
Microsoft.Dynamics.Commerce.HardwareStation.Core | Este pacote contém todas as bibliotecas HWS |
Microsoft.Dynamics.Commerce.HardwareStation.PeripheralRequests | Este pacote contém todas as bibliotecas de solicitação de periféricos HWS |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Contratos | Este pacote contém todas as bibliotecas de contratos de periféricos HWS |
Microsoft.Dynamics.Commerce.HardwareStation.Peripherals.Entities | Este pacote contém todas as bibliotecas de entidades periféricas HWS |
Microsoft.Dynamics.Commerce.Installers.Framework | Este pacote contém todas as bibliotecas da estrutura dos instaladores |
Microsoft.Dynamics.Commerce.KeyVault.Contratos | Este pacote contém todas as bibliotecas de contratos do Key Vault |
Microsoft.Dynamics.Commerce.PaymentSDK.Extensions.Portable | Este pacote contém todas as bibliotecas de extensão de pagamento |
Microsoft.Dynamics.Commerce.PaymentSDK.Portable | Este pacote contém todas as bibliotecas de pagamento |
Microsoft.Dynamics.Commerce.Runtime.FIF.Connector.Messages | Este pacote contém todas as bibliotecas do conector FIF |
Microsoft.Dynamics.Commerce.Runtime.FIF.DocumentProvider.Messages | Este pacote contém todas as bibliotecas do provedor de documentos FIF |
Microsoft.Dynamics.Commerce.Installers.Framework.DatabaseExtensions | Este pacote contém todas as bibliotecas da estrutura do instalador de banco de dados |
Microsoft.Dynamics.Commerce.Tools.DbUtilities | Este pacote contém todas as bibliotecas de utilitários de banco de dados |
Microsoft.Dynamics.Commerce.Tools.ExtensionsProxyGenerator.AspNetCore | Este pacote contém todos os utilitários geradores de proxy de extensões |
Microsoft.Dynamics.Commerce.Proxy.ScaleUnit | Este pacote contém todas as classes de proxies para aplicações de extensão consumirem as APIs Headless Commerce em modo online (conectadas ao Headless Commerce). |
Versão do pacote | Lançamento do aplicativo |
---|---|
9.49.xx-visualização | Versão 10.0.39 PEAP |
9.49.xx | 10.0.39 Visualização do cliente |
9.49.xx | 10.0.39 disponibilidade geral |
9.50.xx-visualização | Versão 10.0.40 PEAP |
9.50.xx | 10.0.40 Visualização do cliente |
9.50.xx | 10.0.40 GA |
9.51.xx-visualização | Versão 10.0.41 PEAP |
9.51.xx | 10.0.41 Visualização do cliente |
9.51.xx | 10.0.41 disponibilidade geral |
9.52.xx-visualização | Versão 10.0.42 PEAP |
9.52.xx | 10.0.42 Visualização do cliente |
9.52.xx | 10.0.42 disponibilidade geral |
O projeto de extensão pode consumir a versão correta adicionando a referência do pacote ao projeto com o número completo da versão ou usando curinga para sempre obter a versão mais recente. A opção recomendada é usar o número completo da versão e atualizar a versão com base na sua versão go-live .
<PackageReference Inclui = "Microsoft.Dynamics.Commerce.Sdk.Pos " Versão = "9.52.xx" />
Ou
<PackageReference Include="Microsoft.Dynamics.Commerce.Sdk.Pos "Versão="9.52.*" />
A cada hotfix e novo lançamento de aplicativo, uma nova versão do pacote será publicada no mesmo feed público, consuma a versão correta do pacote com base na versão necessária para sua entrada em operação. Consumir a versão superior do pacote do que a versão do aplicativo de entrada em operação pode resultar em falhas no tempo de execução e na implantação.
Configure o pipeline do Azure DevOps para automação de build e geração de pacotes:
Configure um pipeline de build para o SDK do Commerce
Melhores práticas e estratégias de ramificação:
Informações detalhadas sobre a estratégia de ramificação do git consulte o documento de estratégia de ramificação do Git.
As estratégias de ramificação a seguir são baseadas na maneira como usamos o Git aqui na Microsoft. Para obter mais informações, consulte Como usamos o Git na Microsoft.
Mantenha sua estratégia de filial simples. Construa sua estratégia a partir destes três conceitos:
Use ramificações de recursos para todos os novos recursos e correções de bugs.
Mesclar ramificações de recursos na ramificação principal usando solicitações pull.
Mantenha uma filial principal atualizada e de alta qualidade.
Crie um novo branch de recursos para desenvolvimento e correção de bugs:
Crie um novo branch principal de recurso para nossa extensão, siga a convenção de nomenclatura adequada (consulte o documento de ramificação do Git para obter um exemplo de convenção de nomenclatura)
Crie um novo branch de desenvolvimento:
Crie uma filial privada para o desenvolvimento:
git checkout -b private/{nome de usuário}/{recurso/descrição}
Adicione e confirme novas alterações no branch de desenvolvimento usando git -add . e git commit -m" mensagem de confirmação."
Depois que o desenvolvimento for concluído, testado e validado, envie as alterações para o branch principal fazendo git push <remote> <filial>
git push origin {nome da filial privada}
Crie um branch de lançamento após o desenvolvimento:
Depois que as alterações de desenvolvimento forem enviadas para o branch principal, crie um novo branch de lançamento e crie os pacotes implementáveis a partir do branch de lançamento.
Check-out do Git -b lançamento/xxx
Mescle as alterações do branch de lançamento de volta ao branch principal se alguma alteração for feita no branch de lançamento.
- git checkout master git merge release/x.x.x
Ramo de hotfix de extensão:
Assim como o branch de lançamento, crie o branch de hotfix para extensão do branch principal e libere a correção e posteriormente mescle as alterações de volta ao branch principal.
Mesclar o novo branch de lançamento com o branch principal e de desenvolvimento:
Após o lançamento de uma nova versão dos exemplos, se necessário, mescle seu branch de desenvolvimento com o novo branch. O repositório contém apenas amostras, portanto não é necessário obter sempre as alterações atualizadas do branch.
- git checkout master git merge release/x.x.x