Configurar os pipelines do ALM Accelerator
Os pipelines são os motores do ALM Accelerator. Automatizam o processo de ALM para o Power Platform. São criadas utilizando o Pipelines do Azure, um serviço do Azure DevOps e armazenadas num projeto do Azure DevOps.
São utilizados quatro pipelines principais para automatizar o processo de ALM:
- Import
- Export
- Delete
- Criar/Implementar
Os pipelines foram concebidos para utilização com a aplicação de tela ALM Accelerator. Não necessita de utilizar a aplicação, mas é recomendável. A aplicação fornece uma interface simples para invocar os pipelines e uma forma de os configurar sem ter de compreender os parâmetros subjacentes.
Cenários comuns de pipeline do ALM Accelerator
Os pipelines do ALM Accelerator e a aplicação têm configurações predefinidas que lhe permitem começar a trabalhar rapidamente com o ALM para o Power Platform. Os pipelines podem abranger muitos cenários de ALM diferentes para satisfazer os requisitos da sua organização. As secções seguintes descrevem alguns cenários comuns e de que forma podem ser abrangidos através da configuração do pipeline, de perfis de implementação e de passos na aplicação ALM Accelerator ou através do pipeline diretamente.
Instalar os pipelines num projeto e o código de origem noutro projeto
Na aplicação ALM Accelerator e nos perfis de implementação, pode especificar um projeto de pipeline e um projeto de origem. Uma opção no assistente de configuração permite-lhe especificar um projeto de pipeline e um repositório separados. Estas opções são úteis se pretende segmentar o armazenamento de soluções com base em utilizadores, estrutura corporativa ou outros fatores. Na maioria dos casos, os ficheiros YAML de pipeline são armazenados no projeto de pipeline e os pipelines de exportação, importação e eliminação são criados no projeto onde a solução é controlada pela origem.
Executar os pipelines sem o ALM Accelerator
A aplicação ALM Accelerator fornece uma camada de botão fácil para executar os pipelines. No entanto, não necessita da aplicação para os executar. Se pretender utilizar os pipelines independentemente da aplicação, execute-os diretamente a partir da linha de comandos. Também pode criar a sua própria aplicação. Utilize um conector personalizado para a API do Azure DevOps, incluído na solução ALM Accelerator, para invocar os pipelines que utilizam o Power Automate ou outras tecnologias do Power Platform.
Em qualquer caso, se pretender utilizar os pipelines independentemente, a chave é compreender os parâmetros que lhes são transmitidos.
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 do código-fonte para um ambiente de desenvolvimento.
A tabela que se segue descreve os parâmetros de importação do pipeline.
Parâmetro | Exemplo | Descrição |
---|---|---|
Project | O Meu Projeto do Azure DevOps | O nome do projeto para onde importar a solução |
Repositório | O Meu Repositório do Azure DevOps | O nome do repositório de onde importar a solução |
SolutionName | MySolutionName | O nome da solução a importar |
me@example.com | O endereço de e-mail do utilizador que está a importar a solução | |
Nome de utilizador | Apelido, Nome Próprio | O nome de utilizador do utilizador que está a importar a solução |
Filial | main | O ramo para de onde criar e importar a solução |
ServiceConnectionName | MyServiceConnection | O nome da ligação de serviço a utilizar para a importação |
ServiceConnectionUrl | example.crm.dynamics.com | O URL do ambiente do criador para a importação |
EnvironmentName | MyDevEnvironment | Utilizado para localizar as definições de implementação no pipeline de implementação; devolve um nome de pasta sob o diretório de configuração na origem da solução |
Parâmetros para delete-unmanaged-solution-and-components: Use o pipeline de solução de exclusão para excluir uma solução não gerenciada e todos os seus componentes de um ambiente de desenvolvimento.
A tabela que se segue descreve os parâmetros de eliminação do pipeline.
Parâmetro | Exemplo | Descrição |
---|---|---|
SolutionName | MySolutionName | O nome da solução a eliminar |
ServiceConnectionName | MyServiceConnection | O nome da ligação de serviço a utilizar para a solução a ser eliminada |
ServiceConnectionUrl | example.crm.dynamics.com | O URL do ambiente do criador para a solução a ser eliminada |
Parâmetros para export-solution-to-git: Use o pipeline da solução de exportação para exportar a solução para um repositório Git.
A tabela que se segue descreve os parâmetros de exportação do pipeline.
Parâmetro | Exemplo | Descrição |
---|---|---|
Project | O Meu Projeto do Azure DevOps | O nome do projeto para onde exportar o código de origem da solução |
Repositório | O Meu Repositório do Azure DevOps | O nome do repositório para onde exportar o código de origem da solução |
SolutionName | MySolutionName | O nome da solução a exportar |
me@example.com | O endereço de e-mail do utilizador que está a exportar a solução | |
Nome de utilizador | Apelido, Nome Próprio | O nome de utilizador do utilizador que está a exportar a solução |
CommitMessage | Corrige o Erro N.º 1234 | Uma descrição das alterações a armazenar na consolidação no repositório |
Filial | main | O ramo de origem a partir do qual criar um ramo ou o ramo existente para o qual consolidar |
BranchToCreate | feature-1234 | O nome exclusivo de um novo ramo para criar com base no parâmetro Branch , se necessário |
ServiceConnectionName | MyServiceConnection | O nome da ligação de serviço a utilizar para a exportação da solução |
ServiceConnectionUrl | example.crm.dynamics.com | O URL do ambiente do criador onde existe a solução não gerida a ser exportada |
Dados | [JSON de Definições de Implementação] | Uma cadeia JSON que contém as definições de implementação a utilizar para a exportação e configuração de pipelines de implementação |
PortalSiteName | MyPortalSite | O nome do site do Power Pages associado à solução a ser exportada |
Personalizar o controlo de versões de soluções quando utiliza os pipelines do ALM Accelerator para exportá-las ou implementá-las
Por predefinição, as soluções exportadas e implementadas têm a versão controlada utilizando o nome especificado no ficheiro YAML do pipeline de implementação. No entanto, os pipelines do ALM Accelerator permitem-lhe personalizar o controlo de versões de uma solução quando as exporta ou implementa. As secções seguintes descrevem os métodos que pode utilizar.
Controlo de versões exportado
Utilize o número da versão exportado pelos pipelines como o número da versão em todos os ambientes implementados. Crie uma variável denominada UseSolutionVersionFromDataverse no seu pipeline de exportação ou uma variável global na biblioteca de variáveis para o ALM Accelerator. Atribua-lhe um valor de True. A variável assegura que o número da versão exportado na solução é preservado em ambientes a jusante e é refletido no controlo de origem quando a origem da solução é consolidada.
Lógica do controlo de versões personalizado
Utilize hooks do ALM Accelerator para definir a versão da solução. Adicione a sua lógica personalizada ao build-solution-pack-pre-hook.yml
modelo para manipular o Solution.xml
diretamente ou utilizando outras ferramentas, como a versão da solução pac.
Controlo de versões de bring-your-own-templates personalizado
A capacidade de trazer os seus próprios modelos para gerar pipelines de implementação fornece flexibilidade para o controlo de versões durante a exportação inicial de uma solução. Como exemplo, crie uma cópia de um build-deploy-validation/test/prod-SampleSolution.yml
e altere o nome da compilação da predefinição para uma estratégia de controlo de versões baseada na configuração de números de execução ou compilação:
build:
- name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
...
Depois de ter os modelos implementados, atualize os passos de implementação no seu perfil de implementação para apontar para eles.
Personalizar o número de passos de implementação nos pipelines e os nomes dos ambientes de destino
Semelhante ao controlo de versões personalizado com modelos, a capacidade de trazer os seus próprios modelos para gerar pipelines de implementação fornece mais flexibilidade durante a exportação inicial de uma solução. Especifique o projeto onde existem os seus modelos e o caminho para o modelo a utilizar para gerar o pipeline de implementação. As definições para o projeto e caminho estão no perfil de implementação e na tabela Passos de Implementação na aplicação de administração ALM Accelerator.
O caminho para o modelo é relativo à raiz da localização do pipeline de exportação. Por exemplo, o caminho para os modelos predefinidos do pipeline de implementação do ambiente de validação é /Pipelines/build-deploy-validation-SampleSolution.yml
. Para utilizar um modelo no mesmo projeto que o pipeline de exportação, especifique o caminho como /Pipelines/build-deploy-validation-MyCustomTemplate.yml
.
A tabela seguinte descreve os marcadores de posição nos modelos para valores específicos da solução que são substituídos quando o pipeline de implementação é gerado.
Marcador de Posição | Descrição |
---|---|
SampleSolutionName | O nome da solução a implementar |
RepositoryContainingTheBuildTemplates | O repositório que contém os modelos de compilação a utilizar para o pipeline de implementação |
BranchContainingTheBuildTemplates | O ramo que contém os modelos de compilação a utilizar para o pipeline de implementação |
alm-accelerator-variable-group | O grupo de variáveis globais que os modelos de compilação utilizam para o pipeline de implementação |
Recomendamos que copie um modelo de pipeline de build-deploy-validation/test/prod-SampleSolution.yml
para começar a trabalhar com o seu próprio modelo personalizado.
Executar passos personalizados nos seus pipelines sem modificar os modelos predefinidos
Os modelos de pipeline do ALM Accelerator têm vários pontos de extensão, ou hooks, que pode utilizar para personalizar os pipelines, minimizando o ruído de conflitos de união em cenários de atualização de versão. Saiba mais sobre os ganchos do acelerador ALM.
Ativar ou desativar ações específicas nos pipelines
Os pipelines utilizam variáveis para determinar se uma tarefa deve ou não ser executada ou que tarefa de entre várias possibilidades deve ser executada. A tabela seguinte descreve as variáveis que pode definir para um pipeline individual ou, através de alm-accelerator-variable-group, em todos os pipelines.
Nota
Para definir estas variáveis para soluções específicas aquando da exportação, crie um pipeline de exportação baseado no modelo do pipeline de exportação. Dê-lhe o nome de export-solution-to-git-{SolutionName}
. A aplicação ALM Accelerator utiliza este pipeline de exportação para a solução, em vez de utilizar o pipeline export-solution-to-git de propósito geral.
Variável | Predefinido | Pipeline(s) | Descrição |
---|---|---|---|
GenerateDeploymentSettings | True | Export | Se false, as definições de implementação não são geradas e armazenadas no controlo de origem. |
UseDeploymentSettingsPlaceholders | True | Export | Se false, as definições de implementação não utilizam marcadores de posição e todos os valores para as definições de implementação são guardados nos ficheiros deploymentSettings.json e customDeploymentSettings.json .IMPORTANTE: Informações confidenciais podem ser salvas em texto sem formatação em suas configurações de implantação. Qualquer utilizador com acesso ao controlo de origem pode ler estes valores. Tome cuidado se definir um valor para esta variável. |
DisableFlows | False | Export | Se true, todos os fluxos são desativados no código de origem descompactado antes da consolidação. |
UseSolutionVersionFromDataverse | False | Export | Se true, o número da versão exportado na sua solução é preservado em ambientes a jusante. O número da versão é refletido no seu controlo de origem quando a origem da solução for consolidada. |
DoNotExportCurrentEnvironmentVariableValues | False | Export | Se true, os valores das variáveis para o ambiente atual são removidos do código de origem para a solução descompactada. |
PublishCustomizationsBeforeExport | True | Export | Se false, as personalizações não são publicadas antes de a solução ser exportada. Esta opção é útil se estiver a trabalhar num ambiente partilhado e só pretender exportar as personalizações publicadas mais recentes. |
CacheEnabled | True | Exportar/Implementar | Se false, a colocação em cache dos módulos do PowerShell está desativada. Esta opção é útil se os pipelines executarem limpeza do diretório da cache após a execução dos pipelines. |
ProcessCanvasApps | True | Exportar/Implementar | Se false, as aplicações de tela não são desembaladas durante a exportação ou embaladas durante compilações. NOTA: A funcionalidade de descompactação e pacote de tela está atualmente em pré-visualização. Nesta altura, não é recomendado para utilização em ambientes de produção. No entanto, não pode ver o código de origem de telas no controlo de origem, a menos que esta variável seja definida como True. |
DisableSolutionChecker | False | Implementar | Se true, o verificador de soluções não é executado em todas as compilações iniciadas através de um pedido pull. |
SkipSolutionImport | False | Implementar | Se verdadeiro, o passo de importação da solução é ignorado durante a implementação. No entanto, outras atividades, como as ativações de fluxo e a partilha, continuam a ser realizadas. |