Configurar pipelines do ALM Accelerator
Os pipelines são os motores do ALM Accelerator. Eles automatizam o processo ALM do Power Platform. Eles são compilados usando o Azure Pipelines, um serviço do Azure DevOps, e armazenados em um projeto do Azure DevOps.
Quatro pipelines principais são usados para automatizar o processo ALM:
- Importação
- Export
- Delete
- Compilar/Implantar
Os pipelines foram projetados para serem usados com o aplicativo de tela ALM Accelerator. Você não precisa usar o aplicativo, embora o recomendemos. O aplicativo oferece uma interface simples para invocar os pipelines e uma maneira de configurá-los sem que seja necessário compreender os parâmetros subjacentes.
Cenários comuns de pipeline do ALM Accelerator
Os pipelines e o aplicativo do ALM Accelerator têm configurações padrão que permitem que você comece a usar rapidamente o ALM para o Power Platform. Os pipelines podem abranger muitos cenários do ALM diferentes para atender aos requisitos da organização. As seções a seguir descrevem alguns cenários comuns e como eles podem ser abordados por meio da configuração do pipeline, dos perfis de implantação e das etapas no aplicativo ALM Accelerator ou diretamente pelo pipeline.
Instalar os pipelines em um projeto e o código-fonte em outro
No aplicativo ALM Accelerator e nos perfis de implantação, você pode especificar um projeto de pipeline e um projeto de origem. Uma opção no assistente de configuração permite a você especificar um projeto de pipeline e um repositório à parte. Essas opções serão úteis se você quiser segmentar o armazenamento de soluções com base em usuários, estrutura corporativa ou outros fatores. Na maioria dos casos, os arquivos YAML do pipeline são armazenados no projeto do pipeline, e os pipelines de exportação, importação e exclusão são criados no projeto no qual a solução é controlada pela origem.
Executar os pipelines sem o ALM Accelerator
O aplicativo de tela ALM Accelerator oferece uma camada de botão fácil para executar os pipelines. No entanto, você não precisa do aplicativo para executá-los. Se você quiser usar os pipelines independentemente do aplicativo, execute-os diretamente na linha de comando. Você também pode compilar o próprio aplicativo. Use um conector personalizado para a API do Azure DevOps, incluída na solução ALM Accelerator, para invocar os pipelines usando o Power Automate ou outras tecnologias do Power Platform.
Em ambos os casos, se você quiser usar os pipelines de maneira independente, a chave será compreender os parâmetros passados para eles.
Parâmetros do pipeline
Parâmetros para import-unmanaged-to-dev-environment: Use o pipeline de solução de importação para importar uma solução não gerenciada do controle de origem para um ambiente de desenvolvimento.
A tabela a seguir descreve os parâmetros do pipeline de importação.
Parâmetro | Exemplo | Descrição |
---|---|---|
Project | Meu projeto do Azure DevOps | O nome do projeto para o qual será importada a solução |
Repositório | Meu repositório do Azure DevOps | O nome do repositório do qual a solução será importada |
SolutionName | MySolutionName | O nome da solução a ser importada |
me@example.com | O endereço de email do usuário que está importando a solução | |
UserName | Último, Primeiro | O nome do usuário que está importando a solução |
Agência | principal | A ramificação para construir a solução e da qual será importada |
ServiceConnectionName | MyServiceConnection | O nome da conexão de serviço a ser usada para importação |
ServiceConnectionUrl | example.crm.dynamics.com | A URL do ambiente do criador da importação |
EnvironmentName | MyDevEnvironment | Usado para encontrar as configurações de implantação no pipeline de implantação; retorna um nome de pasta no diretório de configuração na fonte da solução |
Parâmetros para delete-unmanaged-solution-and-components: Use o pipeline de exclusão de solução para excluir uma solução não gerenciada e todos os seus componentes de um ambiente de desenvolvimento.
A tabela a seguir descreve os parâmetros do pipeline de exclusão.
Parâmetro | Exemplo | Descrição |
---|---|---|
SolutionName | MySolutionName | O nome da solução a ser excluída |
ServiceConnectionName | MyServiceConnection | O nome da conexão de serviço a ser usada para a solução a ser excluída |
ServiceConnectionUrl | example.crm.dynamics.com | A URL do ambiente do criador da solução a ser excluída |
Parâmetros para export-solution-to-git: Use o pipeline de solução de exportação para exportar a solução para um repositório Git.
A tabela a seguir descreve os parâmetros do pipeline de exportação.
Parâmetro | Exemplo | Descrição |
---|---|---|
Project | Meu projeto do Azure DevOps | O nome do projeto para o qual será exportado o código-fonte da solução |
Repositório | Meu repositório do Azure DevOps | O nome do repositório para o qual será exportado o código-fonte da solução |
SolutionName | MySolutionName | O nome da solução a ser exportada |
me@example.com | O endereço de email do usuário que está exportando a solução | |
UserName | Último, Primeiro | O nome do usuário que está exportando a solução |
CommitMessage | Correções do Bug nº 1234 | Uma descrição das alterações a serem armazenadas no commit no repositório |
Agência | principal | A ramificação de origem a partir da qual criar uma ramificação ou a existente a ser confirmada |
BranchToCreate | recurso-1234 | O nome exclusivo de uma nova ramificação a ser criada com base no parâmetro Branch , se necessário |
ServiceConnectionName | MyServiceConnection | O nome da conexão de serviço a ser usada para exportação da solução |
ServiceConnectionUrl | example.crm.dynamics.com | A URL do ambiente do criador onde existe a solução não gerenciada a ser exportada |
Dados | [JSON das Configurações de Implantação] | Uma string JSON contendo as configurações de implantação a serem usadas na exportação e na configuração dos pipelines de implantação |
PortalSiteName | MyPortalSite | O nome do site do Power Pages associado à solução a ser exportada |
Personalizar controle de versão das soluções ao usar os pipelines do ALM Accelerator para exportar ou implantá-los
Por padrão, as versões das soluções exportadas e implantadas são controladas usando o nome especificado no arquivo YAML do pipeline de implantação. No entanto, os pipelines do ALM Accelerator permitem personalizar o controle de versão de uma solução quando você exporta ou a implanta. As seções a seguir descrevem os métodos que você pode usar.
Controle de versão exportado
Use o número da versão exportado pelos pipelines como o número da versão em todos os ambientes implantados. Crie uma variável chamada UseSolutionVersionFromDataverse no pipeline de exportação ou uma variável global na biblioteca de variáveis do ALM Accelerator. Dê a ela um valor de Verdadeiro. A variável garante que o número da versão exportada na solução seja preservado em ambientes downstream e se reflita no controle do código-fonte quando a fonte da solução é confirmada.
Lógica do controle de versão personalizada
Use ganchos do ALM Accelerator para definir a versão da solução. Adicione a lógica personalizada ao modelo build-solution-pack-pre-hook.yml
para manipular diretamente o Solution.xml
ou usando outras ferramentas como versão da solução pac.
Controle de versão de bring-your-own-templates personalizado
A capacidade de trazer os próprios modelos para gerar pipelines de implantação dá flexibilidade para controle de versão durante a exportação inicial de uma solução. Por exemplo, crie uma cópia de um build-deploy-validation/test/prod-SampleSolution.yml
e altere o nome da compilação do padrão para uma estratégia do controle de versão com base em configurar números de execução ou compilação:
build:
- name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
...
Depois que os modelos estiverem implantados, atualize as etapas de implantação no perfil de implantação a fim de apontar para eles.
Personalize o número de etapas de implantação em seus pipelines e os nomes dos ambientes de destino
Semelhante ao controle de versão personalizado com modelos, a capacidade de trazer os próprios modelos para gerar pipelines de implantação dá mais flexibilidade durante a exportação inicial de uma solução. Especifique o projeto no qual os modelos existem e o caminho para o modelo a ser usado a fim de gerar o pipeline de implantação. As configurações do projeto e do caminho estão no perfil de implantação e na tabela Etapas de Implantação no aplicativo de administração ALM Accelerator.
O caminho para o modelo está relacionado à raiz do local do pipeline de exportação. Por exemplo, o caminho para os modelos do pipeline de implantação do ambiente de validação padrão é /Pipelines/build-deploy-validation-SampleSolution.yml
. Para usar um modelo no mesmo projeto do pipeline de exportação, especifique o caminho como /Pipelines/build-deploy-validation-MyCustomTemplate.yml
.
A tabela a seguir descreve espaços reservados nos modelos para valores específicos da solução substituídos quando o pipeline de implantação é gerado.
Espaço reservado | Descrição |
---|---|
SampleSolutionName | O nome da solução a ser implantada |
RepositoryContainingTheBuildTemplates | O repositório que contém os modelos de compilação a serem usados para o pipeline de implantação |
BranchContainingTheBuildTemplates | O branch que contém os modelos de compilação a serem usados para o pipeline de implantação |
alm-accelerator-variable-group | O grupo de variáveis globais usado pelos modelos de compilação no pipeline de implantação |
Recomendamos que você copie um build-deploy-validation/test/prod-SampleSolution.yml
modelo de pipeline para introdução do próprio modelo personalizado.
Executar etapas personalizadas nos pipelines sem modificar os modelos padrão
Os modelos de pipeline do ALM Accelerator têm diversos pontos de extensão, ou ganchos, que você pode usar para personalizar os pipelines enquanto minimiza o ruído dos conflitos de mesclagem em cenários de atualização. Saiba mais sobre os ganchos do ALM Accelerator.
Ativar ou desativar ações específicas nos pipelines
Os pipelines usam variáveis para determinar se uma tarefa deve ou não ser executada ou qual tarefa de diversas possibilidades deve ser executada. A tabela a seguir descreve as variáveis que você pode definir para um pipeline individual ou, por meio de alm-accelerator-variable-group, todos os pipelines.
Observação
A fim de definir essas variáveis para soluções específicas na exportação, crie um pipeline de exportação específico com base no modelo do pipeline de exportação. Nomeie como export-solution-to-git-{SolutionName}
. O aplicativo ALM Accelerator usa esse pipeline de exportação na solução, e não o pipeline general-purpose export-solution-to-git.
Variável | Padrão | Pipeline(s) | Descrição |
---|---|---|---|
GenerateDeploymentSettings | Verdadeiro | Export | Se falso, as configurações de implantação não serão geradas e armazenadas no controle do código-fonte. |
UseDeploymentSettingsPlaceholders | Verdadeiro | Export | Se falso, as configurações de implantação não usarão espaços reservados, e todos os valores das configurações de implantação serão salvos nos arquivos deploymentSettings.json e customDeploymentSettings.json .IMPORTANTE: Informações confidenciais podem ser salvas em texto simples nas configurações de implantação. Qualquer usuário com acesso ao controle do código-fonte pode ler esses valores. Tome cuidado se você definir um valor para a variável. |
DisableFlows | False | Export | Se verdadeiro, todos os fluxos serão desativados no código-fonte descompactado antes da confirmação. |
UseSolutionVersionFromDataverse | False | Export | Se verdadeiro, o número da versão exportado na solução será preservado em ambientes downstream. O número da versão se reflete no controle do código-fonte quando a origem da solução é confirmada. |
DoNotExportCurrentEnvironmentVariableValues | False | Export | Se verdadeiro, os valores variáveis do ambiente atual serão removidos do código-fonte da solução desempacotada. |
PublishCustomizationsBeforeExport | Verdadeiro | Export | Se falso, as personalizações não serão publicadas antes da exportação da solução. Essa opção será útil se você estiver trabalhando em um ambiente compartilhado e só quiser exportar as personalizações publicadas mais recentemente. |
CacheEnabled | Verdadeiro | Exportar/Implantar | Se falso, o cache dos módulos do PowerShell será desabilitado. Esta opção será útil se os pipelines executarem limpeza do diretório de cache depois da execução dos pipelines. |
ProcessCanvasApps | Verdadeiro | Exportar/Implantar | Se falso, os aplicativos de tela não serão descompactados durante a exportação ou compactados durante as compilações. OBSERVAÇÃO: A funcionalidade de descompactação e compactação do canvas está atualmente em versão preliminar. Não é recomendada para uso em ambientes de produção neste momento. No entanto, você não pode exibir o código-fonte de tela no controle do código-fonte, a menos que defina a variável como Verdadeiro. |
DisableSolutionChecker | False | Implantar | Se verdadeiro, o verificador da solução não será executado a cada compilação iniciada por meio de uma solicitação pull. |
SkipSolutionImport | False | Implantar | Se for verdade, a etapa de importação da solução será ignorada durante a implantação. Porém, outras atividades como ativações e compartilhamento de fluxos ainda serão realizadas. |