Partilhar via


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
Email 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
Email 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.

Próximos passos