cicd-integrations
2025.10
true
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía del usuario de integraciones de CI/CD

Última actualización 18 de nov. de 2025

Empaquetar una solución

El comando pack crea un paquete de soluciones implementable (archivo .zip ) que puede cargarse en Soluciones en Orchestrator.

Sintaxis del comando

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

Parámetros:

ParámetroDescripciónObligatorio
<solution-path> (pos. 0)Ruta a la carpeta de la solución o al archivo .uipx
--outputDirectorio donde se creará el paquete
--versionNúmero de versión en formato x.y.z
-A, --libraryOrchestratorAccountForApp (*)El nombre de la cuenta de Orchestrator CloudRPA (nombre de la organización). Debes emparejarlo con el ID de la aplicación,el Secreto de la aplicación y el Ámbito de la aplicación para la aplicación externa. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
-I ,--libraryOrchestratorApplicationId (*) (Obligatorio si utilizas la autenticación de aplicación externa)El ID de la aplicación externa. Debes emparejarlo con la Cuenta de la aplicación, el Secreto de la aplicación y el Ámbito de la aplicación. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
-S, --libraryOrchestratorApplicationSecret (*) (Obligatorio si utilizas la autenticación de aplicación externa)El secreto de la aplicación externa. Debes emparejarlo con la cuenta de la aplicación, el ID de la aplicación y el ámbito de la aplicación. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
--libraryOrchestratorApplicationScope (*) (Opcional para la autenticación de aplicaciones externas)La lista de ámbitos de aplicación, separados por espacios individuales. Debes emparejarlo con la cuenta de la aplicación, el ID de la aplicación y el secreto de la aplicación para la aplicación externa. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
--libraryOrchestratorUrl (*)La URL de la instancia de Orchestrator. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
--libraryOrchestratorTenant (*)El tenant de la instancia de Orchestrator. Esto es necesario si cualquier proyecto de solución depende de bibliotecas de la fuente de Orchestrator o de otro proceso implementado en Orchestrator.No
--libraryIdentityUrl(Obligatorio para implementaciones de PaaS o MSI )La URL de su servidor de identidad.No
--libraryOrchestratorFolder (*)El nombre de la carpeta de Orchestrator de destino. Para introducir subcarpetas, asegúrate de introducir tanto el nombre de la carpeta principal como el nombre de la subcarpeta. Por ejemplo, AccountingTeam\TeamJohnusa .No
--disableBuiltInNugetFeedsDeshabilite las fuentes nuget integradas.No
--repositoryUrlLa URL del repositorio donde se versiona el proyecto.No
--repositoryCommitLa confirmación del repositorio desde la que se creó el proyecto.No
--repositoryBranchLa rama del repositorio desde la que se creó el proyecto.No
--repositoryTypeTipo de repositorio del sistema VCS.No
--projectUrlURL de la idea de Automation Hub.No
--releaseNotesAñadir notas de la versión.No
--authorEl autor del paquete.No
--traceLevelMostrar el seguimiento de los eventos.No
Nota:

Al utilizar la autenticación de aplicaciones externas sin especificar el parámetro --libraryOrchestratorApplicationScope , la CLI aplica automáticamente estos ámbitos predeterminados de Orchestrator:

Solutions.Packages Solutions.Deployments OR.Execution

Ejemplo

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

Esto crea un archivo de paquete como:

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

Ejemplo 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 ExampleAuthoruipcli 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

Requisito de versión

A diferencia de los proyectos independientes, las soluciones no incrementan automáticamente su número de versión. Debes proporcionar explícitamente una versión utilizando el parámetro --version .

Patrones de versiones típicos en CI/CD

La mayoría de los equipos generan la versión de forma dinámica en función de los metadatos de la compilación:

Utilizando el ID de compilación:

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

Utilizar SHA de confirmación de Git:

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

Uso del control de versiones semántico con fecha:

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

Formato de versión

La versión debe seguir el control de versiones semántico:

  • Formato: MAJOR.MINOR.PATCH
  • Ejemplo: 1.0.0, 2.3.45, 10.20.1234
  • Debe contener exactamente tres componentes numéricos separados por puntos

Integración de procesos

Ejemplo de 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'

Ejemplo de acciones de 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

Qué se empaqueta

Los paquetes de comandos pack:

  • Todos los proyectos incluidos en la solución
  • Dependencias a nivel de proyecto
  • Metadatos y configuración de la solución
  • Vinculación de definiciones para configuraciones específicas del entorno

El archivo .zip resultante es independiente y está listo para cargarse en Orchestrator.

Empaquetado después de la restauración

Para obtener los mejores resultados, ejecuta restore antes de pack para garantizar que se resuelvan todas las dependencias:

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

Ubicación de salida del paquete

El archivo .zip empaquetado se coloca en el directorio especificado por --output. Si el directorio no existe, se creará automáticamente.

Rutas de salida típicas

Azure DevOps:

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

Acciones de GitHub:

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

Jenkins:

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

Próximos pasos

Después de empacar, puedes:

  1. Carga el paquete en Gestión de soluciones.
  2. Almacénalo como un artefacto de compilación en tu plataforma CI/CD.
  3. Versionarlo en un repositorio de artefactos (Artifactory, Azure Artifacts, etc.).

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo
Confianza y seguridad
© 2005-2025 UiPath. Todos los derechos reservados.