Partilhar via


GitHub Actions disponível para o desenvolvimento do Microsoft Power Platform

As ações do GitHub para Microsoft Power Platform são descritas nas seções a seguir. Além disso, fluxos de trabalho de exemplo do GitHub também são mostrados. Para obter mais informações sobre as Ações GitHub e como transferi-las, aceda a Ações GitHub para o Microsoft Power Platform.

Configurar credenciais a utilizar com Ações GitHub com o Microsoft Power Platform

Muitas das ações requerem que se ligue a um ambiente do Microsoft Dataverse. Pode adicionar credenciais de principal de serviço ou de utilizador como segredos no seu repositório o GitHub e, em seguida, utilizá-las no seus fluxos de trabalho.

Uma vez configurado, pode chamar o Principal de Serviço dentro dos seus scripts de Ação.

Parâmetros para definir dentro do seu Script de Ação GitHub como Variáveis de Ambiente:

  • ID da Aplicação, como: WF_APPLICATION_ID:<your application id>
  • ID do Inquilino, como: WF_TENANT_ID:<your tenant id>

O Segredo do cliente tem de ser adicionar e armazenado como um Segredo do GitHub e será referenciado a partir do fluxo de trabalho usando um parâmetro como: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tarefas auxiliares

A tarefa de ajudante disponível é descrita abaixo.

actions-install

Quando um fluxo de trabalho de GitHub Actions força uma instalação do Power Platform CLI no contexto de um executor e o erro de tempo excedido ocorre, tem de utilizar a versão 1 (@v1) com uma ação adicional (actions-install), como abaixo.

Importante

  • A utilização da versão 1 (@v1) poderá levar a atualizações a GitHub Actions existentes que podem resultar em que fluxos de trabalho atuais seja atualizados.
  • Tem de adicionar a tarefa Instalar o Power Platform Tools como uma primeira tarefa no seu fluxo de trabalho antes de quaisquer outras GitHub Actions para o Power Platform.
jobs:
    builds:
        runs-on: windows-latest   # alternate runner OS is: ubuntu-latest

    steps:
    - name: Install Power Platform Tools
        uses: microsoft/powerplatform-actions/actions-install@v1

    - name: Export Solution
         uses: microsoft/powerplatform-actions/export-solution@v1
      with:
         environment-url: 'https://myenv.crm.dynamics.com'
         user-name: 'me@myenv.onmicrosoft.com'
         password-secret: ${{ secrets.MYPASSWORD }}
         solution-name: aSolution
         solution-output-file: 'aSolution.zip'
         working-directory: 'out'

Pode encontrar amostras adicionais de GitHub Actions em Ações do Power Platform.

whoAmI

Verifica a ligação do serviço ao ligar ao serviço e enviar um pedido WhoAmI [SDK/API Web]. Pode ser útil incluir esta tarefa no início do seu fluxo de trabalho do GitHub, para verificar a conectividade antes do processamento começar.

Parâmetro Descrição
environment-url O URL para o ambiente a que está a ligar.
user-name O nome de utilizador da conta que está a usar para se ligar.
password-secret A palavra-passe para user-name. As palavras-passe do GitHub são definidas em Definições em Segredos. Não pode obter um segredo depois de ter sido definido e guardado.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.

Tarefas de solução

Estas tarefas executam ações contra soluções e incluem as seguintes.

import-solution

Importa uma solução para um ambiente de destino.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de destino para o qual pretende importar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
solution-file (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.

export-solution

Exporta uma solução de um ambiente de origem.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de onde pretende exportar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe para user-name. As palavras-passe do GitHub são definidas em Definições em Segredos. Não pode obter um segredo depois de ter sido definido e guardado.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
solution-name (Obrigatório) O nome da solução a exportar. Utilize sempre o nome da solução, não o respetivo nome a apresentar.
solution-output-file (Obrigatório) O caminho e o nome do ficheiro solution.zip a exportar para o ambiente de origem.
managed (Obrigatório) Definido para true para exportar como uma solução gerida; a predefinição (false) é exportar como uma solução não gerida.

unpack-solution

Decompõe um ficheiro de solução comprimido em vários ficheiros XML para estes ficheiros poderem ser facilmente lidos e geridos por um sistema de controlo de origem.

Parâmetro Descrição
solution-file (Obrigatório) O caminho e o nome do ficheiro solution.zip a descompactar.
solution-folder (Obrigatório) O caminho e a pasta de destino para as quais pretende descompactar a solução.
solution-type (Obrigatório) O tipo de solução que pretende descompactar. As opções incluem Não gerido (recomendado), Gerido e Ambos.

pack-solution

Compacta uma solução representada no controlo de origem num ficheiro . zip de solução que pode ser importado para outro ambiente.

Parâmetro Descrição
solution-file (Obrigatório) O caminho e o nome do ficheiro do ficheiro da solução.zip compactar a solução (por exemplo, out/CI/ALMLab.zip).
solution-folder (Obrigatório) O caminho e a pasta de origem da solução a compactar.
solution-type (Opcional) O tipo de solução a compactar. As opções incluem Não gerido (recomendado), Gerido e Ambos.

publish-solution

Publica as personalizações da solução.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente para o qual pretende publicar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
solution-file (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.

clone-solution

Clona a solução para um determinado ambiente.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
solution-file (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
solution-name (Obrigatório) O caminho e o nome do ficheiro solution.zip necessário para clonar (por exemplo, out/CI/ALMLab.zip).
solution-version Versão da solução a clonar.
target-folder Pasta de destino onde colocar a solução extraída. (por exemplo, repositório Git\target-solution-folder).
Working-directory Pasta temporária para artefactos de trabalho em curso necessários para clonar a solução.
predefinição: root of the repository

check-solution

Verifica o ficheiro da solução para detetar inconsistências.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
path (Obrigatório) O caminho e o nome do ficheiro de solução que pretende verificar.
geo Que localização geográfica do serviço Verificador do Microsoft Power Platform utilizar. O valor predefinido é "Estados Unidos".
rule-level-override Caminho para arquivar uma matriz JSON de regras e respetivos níveis. Os valores aceites são: Crítico, Alto, Baixo e Informativo. Exemplo: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name O nome da pasta de artefactos para a qual os registos do verificador do Microsoft Power Platform serão carregados. O valor predefinido é "CheckSolutionLogs".

upgrade-solution

Fornece a capacidade de atualizar a solução.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
solution-file (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
solution-name (Obrigatório) Nome da solução a atualizar a versão.
assíncrono Atualiza a versão da solução assincronamente.
max-async-wait-time Tempo máximo de espera assíncrono em minutos. O valor predefinido é 60 minutos.

Tarefas de pacote

Estas tarefas executam ações contra pacotes e incluem o seguinte.

deploy-package

Fornece a capacidade de implementar um dll de pacote ou um ficheiro zip com um pacote.

Nota

Esta ação só é suportada num Windows.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar.
password-secret (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar.
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
pacote (Obrigatório) O caminho para o dll de pacote ou ficheiro zip com um pacote.

Tarefas do portal

Estas tarefas executam as seguintes ações contra o Power Pages.

upload-paportal

Carrega dados para o Power Pages.

Parâmetro Descrição
environment-url (Obrigatório) O URL para o ambiente para o qual pretende importar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
app-id O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
client-secret O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço.
tenant-id O ID do inquilino ao autenticar com o app-id e o client-secret.
upload-path Caminho onde o conteúdo do site é armazenado (alias: -p).
deployment-profile Carregar dados do portal com detalhes do ambiente definidos através de variáveis de perfil no ficheiro deployment-profiles/[profile-name].deployment.yaml.
model-version Indica se os dados do site a carregar utilizarão o modelo de dados padrão (1) ou o modelo de dados avançado (2). O valor predefinido é "1".

Saiba mais sobre o Suporte do Microsoft Power Platform CLI para Power Pages.

Tarefas do catálogo (pré-visualização)

Estas tarefas executam ações contra o catálogo no Power Platform e incluem as seguintes.

Nota

Atualmente, as tarefas do catálogo para o Power Platform são uma versão de pré-visualização.

instalar

Instalar um item do catalog no ambiente de destino.

Parâmetro Descrição
catalog-item-id (Obrigatório) Item de catálogo a ser instalado no ambiente de destino.
target-url (Obrigatório) O URL do ambiente de destino para a instalação de itens do catálogo (por exemplo, "https://YourOrg.crm.dynamics.com").
definições (Obrigatório) Definições de pacote de runtime para a estrutura de instalação a executar. O formato da cadeia tem de ser key=value|key=value.
target-version Versão de destino a instalar. Se deixada vazia, é selecionada a versão publicada.
poll-status Inquérito para verificar o estado do seu pedido.

submit

Lista todos os itens de catálogo publicados do ambiente do Dataverse atual (organização).

Parâmetro Descrição
path (Obrigatório) Caminho para o documento de submissão do catálogo.
package-zip Caminho para o ficheiro zip do pacote.
solution-zip Caminho para o ficheiro zip da solução.
poll-status Consulta para verificar o estado do pedido.

estado

Obter estado de pedido de instalação/submissão do catalog.

Parâmetro Descrição
tracking-id (Obrigatório) ID de monitorização do pedido.
type (Obrigatório) Tipo de pedido (Valores: Instalar, Submeter)

Criação do fluxo de trabalho do GitHub

Para saber mais sobre a composição de fluxos de trabalho do GitHub utilizando as Ações GitHub, complete as Ações GitHub para laboratórios do Microsoft Power Platform.

Mais informações: Sobre as Ações GitHub

Consulte Também

Ações do GitHub para Microsoft Power Platform