cicd-integrations
2025.10
true
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia do usuário de integrações de CI/CD

Última atualização 8 de dez de 2025

Empacotando uma solução

O comando pack cria um pacote de solução implantável (arquivo .zip ) que pode ser carregado para Soluções no Orchestrator.

Sintaxe de comando

uipcli solution pack <solution-path> [options]
uipcli solution pack <solution-path> [options]

Parâmetros:

ParâmetroDescriptionRequired
<solution-path> (pos. 0)Caminho para a pasta Solution ou o arquivo .uipxSim
--outputDiretório onde o pacote será criadoSim
--versionNúmero da versão no formato x.y.zSim
-A, --libraryOrchestratorAccountForApp (*)O nome da conta do Orchestrator CloudRPA (nome da organização). Você deve combiná-lo com a ID do aplicativo,Segredo do aplicativo e Escopo do aplicativo para um aplicativo externo Isso é necessário se qualquer projeto de Solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
-I ,--libraryOrchestratorApplicationId (*) (Necessário se você usar autenticação de aplicativo externo)A ID do aplicativo externo. Você deve combiná-lo com a Conta do aplicativo, Segredo do aplicativo e Escopo do aplicativo. Isso é necessário se qualquer projeto de solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
-S, --libraryOrchestratorApplicationSecret (*) (Necessário se você usar autenticação de aplicativo externo)O Segredo do aplicativo externo. Você deve combiná-lo com a Conta do aplicativo, ID do aplicativo e Escopo de aplicativo. Isso é necessário se qualquer projeto de solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
--libraryOrchestratorApplicationScope (*) (Opcional para autenticação de aplicativos externos)A lista de escopos do aplicativo, separada por espaços únicos. Você deve combiná-lo com a Conta do aplicativo, ID do aplicativo e Segredo do aplicativo para um aplicativo externo. Isso é necessário se qualquer projeto de solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
--libraryOrchestratorUrl (*)O URL da instância do Orchestrator. Isso é necessário se qualquer projeto de solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
--libraryOrchestratorTenant (*)O tenant da instância do Orchestrator. Isso é necessário se qualquer projeto de solução depender de bibliotecas do feed do Orchestrator ou de outro processo implantado no Orchestrator.Não
--libraryIdentityUrl(Necessário para implantações PaaS ou MSI )A URL do seu servidor de identidade.Não
--libraryOrchestratorFolder (*)O nome da pasta de destino do Orchestrator. Para inserir subpastas, certifique-se de inserir o nome da pasta pai e o nome da subpasta. Por exemplo, use AccountingTeam\TeamJohn.Não
--disableBuiltInNugetFeedsDesabilite os feeds de nuget integrados.Não
--repositoryUrlA URL do repositório onde o projeto é versionado.Não
--repositoryCommitA confirmação do repositório de onde o projeto foi criado.Não
--repositoryBranchA ramificação do repositório de onde o projeto foi criado.Não
--repositoryTypeTipo de repositório do sistema VCS.Não
--projectUrlURL da ideia do Automation Hub.Não
--releaseNotesAdicione notas da versão.Não
--authorO autor do pacote.Não
--traceLevelExibir o rastreamento dos eventos.Não
Observação:

Ao usar a autenticação de aplicativos externos sem especificar o parâmetro --libraryOrchestratorApplicationScope , a CLI aplica automaticamente esses escopos do Orchestrator padrão:

Solutions.Packages Solutions.Deployments OR.Execution

Exemplo

uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose

Isso cria um arquivo de pacote como:

C:\Output\MySolution.1.2.3.zip
C:\Output\MySolution.1.2.3.zip

Exemplo de parâmetro completo

uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --libraryOrchestratorAccountForApp MyOrgAccount \
  --libraryOrchestratorApplicationId ******* \
  --libraryOrchestratorApplicationSecret ******* \
  --libraryOrchestratorApplicationScope "OR.Assets OR.Folders OR.Projects" \
  --libraryOrchestratorUrl https://cloud.uipath.com/myOrgName/myTenantName \
  --libraryOrchestratorTenant myTenantName \
  --libraryIdentityUrl https://identity.uipath.com \
  --libraryOrchestratorFolder "AccountingTeam\TeamJohn" \
  --disableBuiltInNugetFeeds \
  --repositoryUrl https://github.com/my-org/my-repo \
  --repositoryCommit 7f3a9c2 \
  --repositoryBranch main \
  --repositoryType git \
  --projectUrl https://automationhub.uipath.com/ideas/1234 \
  --releaseNotes "Initial packaged solution version" \
  --traceLevel Verbose
  --author ExampleAuthor
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --libraryOrchestratorAccountForApp MyOrgAccount \
  --libraryOrchestratorApplicationId ******* \
  --libraryOrchestratorApplicationSecret ******* \
  --libraryOrchestratorApplicationScope "OR.Assets OR.Folders OR.Projects" \
  --libraryOrchestratorUrl https://cloud.uipath.com/myOrgName/myTenantName \
  --libraryOrchestratorTenant myTenantName \
  --libraryIdentityUrl https://identity.uipath.com \
  --libraryOrchestratorFolder "AccountingTeam\TeamJohn" \
  --disableBuiltInNugetFeeds \
  --repositoryUrl https://github.com/my-org/my-repo \
  --repositoryCommit 7f3a9c2 \
  --repositoryBranch main \
  --repositoryType git \
  --projectUrl https://automationhub.uipath.com/ideas/1234 \
  --releaseNotes "Initial packaged solution version" \
  --traceLevel Verbose
  --author ExampleAuthor

Versionamento de requisito

Ao contrário de projetos independentes, as Soluções não incrementam automaticamente seu número de versão. Você deve fornecer explicitamente uma versão usando o parâmetro --version .

Padrões típicos de controle de versão em CI/CD

A maioria das equipes gera a versão dinamicamente com base nos metadados da compilação:

Usando o ID de compilação:

--version "1.0.$BUILD_ID"
--version "1.0.$BUILD_ID"

Usando o SHA de confirmação do Git:

--version "2.1.${GIT_COMMIT_SHA:0:7}"
--version "2.1.${GIT_COMMIT_SHA:0:7}"

Usando o controle de versão semântico com data:

--version "$(date +%Y.%m.$BUILD_NUMBER)"
--version "$(date +%Y.%m.$BUILD_NUMBER)"

Formato da versão

A versão deve seguir o versionamento semântico:

  • Formato: MAJOR.MINOR.PATCH
  • Exemplo: 1.0.0, 2.3.45, 10.20.1234
  • Deve conter exatamente três componentes numéricos separados por pontos

Integração de pipeline

Exemplo do Azure DevOps

- script: |
    uipcli solution pack $(Build.SourcesDirectory)\MySolution \
      --output $(Build.ArtifactStagingDirectory) \
      --version "1.0.$(Build.BuildId)" \
      --traceLevel Information
  displayName: 'Pack Solution'
- script: |
    uipcli solution pack $(Build.SourcesDirectory)\MySolution \
      --output $(Build.ArtifactStagingDirectory) \
      --version "1.0.$(Build.BuildId)" \
      --traceLevel Information
  displayName: 'Pack Solution'

Exemplo de ações do GitHub

- name: Pack Solution
  run: |
    uipcli solution pack ${{ github.workspace }}/MySolution \
      --output ${{ runner.temp }}/packages \
      --version "1.0.${{ github.run_number }}" \
      --traceLevel Information
- name: Pack Solution
  run: |
    uipcli solution pack ${{ github.workspace }}/MySolution \
      --output ${{ runner.temp }}/packages \
      --version "1.0.${{ github.run_number }}" \
      --traceLevel Information

O que é empacotado

Os pacotes de comando pack:

  • Todos os projetos incluídos na Solução
  • Dependências ao nível do projeto
  • Metadados e configuração da solução
  • Definições de associação para configurações específicas do ambiente

O arquivo .zip resultante é independente e pronto para ser carregado para o Orchestrator.

Empacotamento após a restauração

Para obter melhores resultados, execute restore antes de pack para garantir que todas as dependências sejam resolvidas:

# 1. Restore dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Pack with explicit version
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose
# 1. Restore dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Pack with explicit version
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose

Local de saída do pacote

O arquivo empacotado .zip é colocado no diretório especificado por --output. Se o diretório não existir, ele será criado automaticamente.

Caminhos de saída típicos

DevOps do Azure:

--output $(Build.ArtifactStagingDirectory)
--output $(Build.ArtifactStagingDirectory)

Ações do GitHub:

--output ${{ runner.temp }}/packages
--output ${{ runner.temp }}/packages

Jenkins:

--output ${WORKSPACE}/output
--output ${WORKSPACE}/output

Próximas Etapas

Após empacotar, você poderá:

  1. Carregue o pacote para o Gerenciamento de soluções.
  2. Armazene-o como um artefato de compilação em sua plataforma de CI/CD.
  3. Versione-o em um repositório de artefatos (Arifactory, Azure Artefatos, etc.).

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo
Confiança e segurança
© 2005-2025 UiPath. Todos os direitos reservados.