- Visão geral
- UiPath CLI
- Sobre o UiPath CLI
- Baixando o UiPath CLI
- Matriz de compatibilidade
- Executando o UiPath CLI
- Gerenciando feeds do NuGet
- Confiança em certificados personalizados
- Suporte do Test Manager
- Empacotando projetos em um pacote
- Assinatura de pacotes de projetos
- Análise de um projeto
- Implantação de um pacote no Orchestrator
- Executando um trabalho dentro do Orchestrator
- Teste de um pacote ou execução de um conjunto de testes
- Teste de vários pacotes
- Formato JSON dos parâmetros de entrada
- Implantação de ativos no Orchestrator
- Exclusão de ativos do Orchestrator
- Executando tarefas usando a configuração JSON
- Restaurando dependências de automação
- Solução de problemas do UiPath CLI
- Extensão do Azure DevOps
- Plug-in do Jenkins
Implante um pacote da solução em uma pasta de destino e ative-o no Orchestrator.
Depois de carregar um pacote de solução para Soluções, você pode implantá-lo em uma pasta de destino e ativá-lo para torná-lo operacional.
Para instâncias do Orchestrator assinadas por uma Autoridade de Certificação privada (como o UiPath Automation Suite), ambos deploy e deploy-activate também aceitam parâmetros --ca-cert e --pinnedpubkey . Consulte Confiança em certificados personalizados para cenários e exemplos.
Fluxo de trabalho da implantação
A implantação de uma solução é um processo de duas etapas:
- Implantar: crie uma configuração de implantação e associe o pacote a uma pasta de destino.
- Ativar: torne a implantação ao vivo e operacional.
Essa separação permite que você prepare as implantações com antecedência e ative-as durante as janelas de manutenção ou após a aprovação manual.
Implantação de uma solução
O comando deploy cria uma implantação de um pacote de solução em um ambiente específico.
Sintaxe de comando
uipcli solution deploy <package-name> [options]
uipcli solution deploy <package-name> [options]
Parâmetros
| Parâmetro | Description | Required |
|---|---|---|
<package-name> | Nome do pacote carregado | Sim |
-v ou --version | Versão do pacote a ser implantada | Sim |
-d ou --deploymentName | Nome para esta implantação | Sim |
-f ou --deploymentFolderName | Nome da pasta de destino no Orchestrator | Sim |
-U | URL do Orchestrator | Sim |
-T | Nome do tenant | Sim |
-A | Nome da Organização | Sim |
-I | ID do aplicativo externo | Sim |
-S | Segredo do aplicativo externo | Sim |
--applicationScope | Escopos opcionais (padrão aplicados) | Não |
--deploymentParentFolder | A pasta do Orchestrator onde a pasta de implantação será criada. Se não for especificado, a pasta de implantação será criada na pasta do tenant. Quando especificado, a implantação estará na respectiva pasta. Quando definido como "exampleuser@org.com 's workspace", a implantação ocorrerá no espaço de trabalho pessoal do usuário especificado. | Não |
--configPath | Caminho local para o arquivo de configuração da solução; necessário em cenários com associações de substituição. Consulte Download de pacotes de soluções e configurações para obter detalhes sobre como obter arquivos de configuração. | Não |
--traceLevel | Nível de Registros de Log | Não |
--ca-cert | Arquivo(s) de CA raiz confiável (PEM, , ou PKCS#7DER) para o certificado TLS do Orchestrator/Identity. Repetir ou separar por vírgula. Consulte Confiança em certificados personalizados. | Não |
--pinnedpubkey | Fixe a chave pública da folha (sha256//<base64>). Consulte Confiança em certificados personalizados. | Não |
Escopos de aplicativos padrão para soluções
Ao usar a autenticação de aplicativos externos sem especificar o parâmetro --applicationScope , a CLI aplica automaticamente esses escopos de soluções padrão:
Solutions.Packages Solutions.Deployments OR.Execution
Importante: todos os três escopos são necessários para todos os comandos de CLI relacionados à solução. Esses escopos são agrupados para fornecer uma cobertura abrangente para todos os comandos de solução disponíveis e devem ser configurados coletivamente em vez de individualmente por comando.
Se uma implantação com o mesmo nome já existir em qualquer nível dentro do tenant no Orchestrator, essa operação atualiza a implantação existente em vez de criar uma nova. Se a implantação existente estiver no estado de Falha, a atualização não prosseguirá; resolva ou desinstale a implantação com falha antes de tentar novamente.
Soluções implantadas ao nível de tenant não atribuem automaticamente um usuário à pasta resultante. Para atribuir uma conta, certifique-se de que a configuração apropriada esteja definida no Orchestrator (Tenant > Pastas).
Autenticação
Consulte Autenticação e escopos para escopos necessários e Configuração de aplicativos externos.
Exemplo
uipcli solution deploy MySolution \
-v 1.2.3 \
-d MySolution-Prod-v1.2.3 \
-f Production \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
uipcli solution deploy MySolution \
-v 1.2.3 \
-d MySolution-Prod-v1.2.3 \
-f Production \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
Convenções de nomenclatura de implantação
Escolha nomes de implantação significativos que incluam:
- Nome da solução
- Identificador do ambiente
- Versão ou data
Exemplos
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0
Isso facilita o rastreamento e o gerenciamento de implantações entre ambientes.
O que acontece durante a implantação
Quando você executar o comando de implantação:
- O pacote é validado em Soluções.
- Uma configuração de implantação é criada.
- A implantação está associada à pasta de destino.
- As associações específicas de ambiente são inicializadas.
- A implantação está preparada, mas ainda não está ativa.
A solução não começa a executar processos até que você a ative.
Reutilização de recursos existentes
Por padrão, a implantação de uma Solução provisiona cada recurso na pasta de destino. Quando o ambiente de destino já contiver um recurso que você deseja reutilizar, como uma conexão compartilhada com um sistema externo, vincule o recurso da Solução ao existente por meio do arquivo de configuração de implantação e, em seguida, implante com --configPath.
Isso é o equivalente do pipeline a escolher Personalizar e vincular um recurso manualmente quando você implanta uma Solução manualmente no Orchestrator.
Vincular um recurso que está em uma pasta do Orchestrator requer os escopos OR.Folders e RCS.FolderAuthorization, e o Aplicativo Externo deve ser atribuído à pasta que contém o recurso existente.
Etapas
-
Baixe a configuração de implantação para o pacote. Consulte Download de pacotes de solução e configurações.
uipcli solution download-config MySolution \ -d C:\Configs \ -v 1.0.0 \ --format json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"uipcli solution download-config MySolution \ -d C:\Configs \ -v 1.0.0 \ --format json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization" -
Abra o arquivo de configuração baixado.
-
Localize a entrada do recurso que você deseja reutilizar.
-
Adicione um bloco
linkToResourceque aponte a entrada no recurso do Orchestrator existente por nome e pasta. Para um recurso de conexão, a entrada tem a seguinte aparência:{ "kind": "connection", "name": "Slack connection", "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7", "folderPaths": [ "solution_folder" ], "configuration": { "description": null, "authenticationType": "AuthenticateAfterDeployment", "connectorVersion": "2.14.7", "connectorKey": "uipath-salesforce-slack", "pollingInterval": 5 }, "linkToResource": { "name": "Existing Slack connection", "folderPath": "Shared" } }{ "kind": "connection", "name": "Slack connection", "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7", "folderPaths": [ "solution_folder" ], "configuration": { "description": null, "authenticationType": "AuthenticateAfterDeployment", "connectorVersion": "2.14.7", "connectorKey": "uipath-salesforce-slack", "pollingInterval": 5 }, "linkToResource": { "name": "Existing Slack connection", "folderPath": "Shared" } }O objeto
linkToResourceaponta o recurso da Solução para o existente; os campos sobconfigurationvariam de acordo com o tipo de recurso. -
Implante a solução, passando a configuração editada com
--configPath.uipcli solution deploy MySolution \ -v 1.0.0 \ -d MySolution-Prod-v1.0.0 \ -f Production \ --deploymentParentFolder "Shared" \ --configPath C:\Configs\MySolution.1.0.0.json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"uipcli solution deploy MySolution \ -v 1.0.0 \ -d MySolution-Prod-v1.0.0 \ -f Production \ --deploymentParentFolder "Shared" \ --configPath C:\Configs\MySolution.1.0.0.json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
A implantação reutiliza o recurso vinculado em vez de criar um novo na pasta de destino.
Autenticação de conexão
Para recursos de conexão, vincular uma conexão existente é uma opção entre várias. O authenticationType campo no arquivo de configuração aceita dois valores: ConfigurableByUsers AuthenticateAfterDeploymente.
Defina authenticationType como ConfigurableByUsers para deixar a conexão não associada e adiar sua seleção para o tempo de execução. Os usuários selecionam e autenticam a conexão quando a automação é executada, que também é uma configuração válida para ativação.
Com AuthenticateAfterDeployment, a conexão deve ser autenticada após a conclusão da implantação. Se não for autenticado pelo tempo de execução da ativação, a ativação será relatada como com falha.
Ativando uma implantação
O comando deploy-activate torna uma implantação ativa e operacional.
Sintaxe de comando
uipcli solution deploy-activate <deployment-name> [options]
uipcli solution deploy-activate <deployment-name> [options]
Parâmetros
| Parâmetro | Description | Required |
|---|---|---|
<deployment-name> | Nome da implantação a ser ativada | Sim |
-U | URL do Orchestrator | Sim |
-T | Nome do tenant | Sim |
-A | Nome da Organização | Sim |
-I | ID do aplicativo externo | Sim |
-S | Segredo do aplicativo externo | Sim |
--applicationScope | Escopos exigidos | Sim |
--traceLevel | Nível de Registros de Log | Não |
--ca-cert | Arquivo(s) de CA raiz confiável (PEM, , ou PKCS#7DER) para o certificado TLS do Orchestrator/Identity. Repetir ou separar por vírgula. Consulte Confiança em certificados personalizados. | Não |
--pinnedpubkey | Fixe a chave pública da folha (sha256//<base64>). Consulte Confiança em certificados personalizados. | Não |
Autenticação
Consulte Autenticação e escopos para escopos necessários e Configuração de aplicativos externos.
Exemplo
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
O que acontece durante a ativação
Quando você ativa uma implantação:
- A implantação se torna a versão ativa na pasta de destino.
- Os gatilhos são ativados.
- Qualquer implantação ativa anteriormente na mesma pasta será desativada.
Integração do pipeline de CI/CD
Conclua o fluxo de trabalho da implantação
steps:
# 1. Pack the Solution
- name: Pack Solution
run: |
uipcli solution pack ./MySolution \
--output ./packages \
--version "1.0.${{ github.run_number }}"
# 2. Upload to Solutions Management
- name: Upload Package
run: |
uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
# 3. Deploy to target environment
- name: Deploy Solution
run: |
uipcli solution deploy MySolution \
-v "1.0.${{ github.run_number }}" \
-d "MySolution-Prod-v1.0.${{ github.run_number }}" \
-f Production \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
# 4. Activate the deployment
- name: Activate Deployment
run: |
uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
steps:
# 1. Pack the Solution
- name: Pack Solution
run: |
uipcli solution pack ./MySolution \
--output ./packages \
--version "1.0.${{ github.run_number }}"
# 2. Upload to Solutions Management
- name: Upload Package
run: |
uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
# 3. Deploy to target environment
- name: Deploy Solution
run: |
uipcli solution deploy MySolution \
-v "1.0.${{ github.run_number }}" \
-d "MySolution-Prod-v1.0.${{ github.run_number }}" \
-f Production \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
# 4. Activate the deployment
- name: Activate Deployment
run: |
uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
Implantações fechadas com aprovação manual
Você pode separar e ativar as etapas para implementar fluxos de trabalho de aprovação:
# Stage 1: Deploy (automated)
- stage: DeployToProduction
jobs:
- job: Deploy
steps:
- script: |
uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
displayName: 'Prepare Production Deployment'
# Stage 2: Activate (requires approval)
- stage: ActivateProduction
dependsOn: DeployToProduction
# Manual approval gate configured in Azure DevOps
jobs:
- deployment: Activate
environment: 'Production'
steps:
- script: |
uipcli solution deploy-activate MySolution-Prod-$(version) ...
displayName: 'Activate Production Deployment'
# Stage 1: Deploy (automated)
- stage: DeployToProduction
jobs:
- job: Deploy
steps:
- script: |
uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
displayName: 'Prepare Production Deployment'
# Stage 2: Activate (requires approval)
- stage: ActivateProduction
dependsOn: DeployToProduction
# Manual approval gate configured in Azure DevOps
jobs:
- deployment: Activate
environment: 'Production'
steps:
- script: |
uipcli solution deploy-activate MySolution-Prod-$(version) ...
displayName: 'Activate Production Deployment'
Promoção de vários ambientes
Implante a mesma versão em vários ambientes sequencialmente:
# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...
# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...
# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...
# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...
# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...
# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...
Estratégia de reversão
Para reverter para uma versão anterior:
- Implante a versão anterior com um novo nome de implantação.
- Ative a implantação da versão anterior.
- Opcionalmente, desinstale a implantação mais recente.
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...
Próximas Etapas
Após implantar e ativar as Soluções, você poderá:
- Monitore a execução no Orchestrator.
- Desinstale as implantações quando não forem mais necessárias.
- Implante novas versões seguindo o mesmo fluxo de trabalho.
- Fluxo de trabalho da implantação
- Implantação de uma solução
- Sintaxe de comando
- Autenticação
- Exemplo
- Convenções de nomenclatura de implantação
- O que acontece durante a implantação
- Reutilização de recursos existentes
- Etapas
- Autenticação de conexão
- Ativando uma implantação
- Sintaxe de comando
- Autenticação
- Exemplo
- O que acontece durante a ativação
- Integração do pipeline de CI/CD
- Conclua o fluxo de trabalho da implantação
- Implantações fechadas com aprovação manual
- Promoção de vários ambientes
- Estratégia de reversão
- Próximas Etapas