- Información general
- CLI de Uipath
- Acerca de la CLI de UiPath
- Descarga de la CLI de UiPath
- Matriz de compatibilidad
- Ejecutar la CLI de UiPath
- Gestionar fuentes NuGet
- Confiar en certificados personalizados
- Soporte de Test Manager
- Empaquetar proyectos en un paquete
- Firma de paquetes de proyecto
- Analizar un proyecto
- Implementar un paquete en Orchestrator
- Ejecutar un trabajo dentro de Orchestrator
- Probar un paquete o ejecutar un conjunto de pruebas
- Probar varios paquetes
- Parámetros de entrada Formato JSON
- Implementar activos en Orchestrator
- Eliminar activos de Orchestrator
- Ejecutar tareas utilizando la configuración JSON
- Restaurar dependencias de automatización
- Solución de problemas de la CLI de UiPath
- Extensión de Azure DevOps
- Acerca de la extensión de Azure DevOps
- Configurar la conexión del servicio Azure DevOps
- Añadir tareas de UiPath a un proceso de Azure DevOps
- Plataforma de instalación de Uipath
- Paquete de soluciones de UiPath
- Paquete de carga de la solución UiPath
- Implementación de la solución UiPath
- Activación de la solución UiPath
- Eliminar paquete de la solución UiPath
- Configuración de descarga de la solución UiPath
- Paquete de descarga de la solución UiPath
- Implementación de desinstalación de la solución UiPath
- Solución de problemas de la extensión de Azure DevOps
- Complemento de Jenkins
- Acerca del complemento de Jenkins
- Instalar el complemento de Jenkins
- Configurar la conexión de servicio para aplicaciones externas
- Plataforma de instalación de Uipath
- Paquete de soluciones de UiPath
- Paquete de carga de la solución UiPath
- Implementación de la solución UiPath
- Solución UiPath Activar implementación
- Eliminar paquete de la solución UiPath
- Configuración de descarga de la solución UiPath
- Paquete de descarga de la solución UiPath
- Implementación de desinstalación de la solución UiPath
- Solución de problemas del complemento de Jenkins
Implementa un paquete de soluciones en una carpeta de destino y actívalo en Orchestrator.
Después de cargar un paquete de soluciones en Soluciones, puedes implementarlo en una carpeta de destino y activarlo para que sea operativo.
Para las instancias de Orchestrator firmadas por una autoridad de certificación privada (como UiPath Automation Suite), tanto deploy como deploy-activate también aceptan los parámetros --ca-cert y --pinnedpubkey . Consulta Confiar en certificados personalizados para escenarios y ejemplos.
Flujo de trabajo de implementación
La implementación de una solución es un proceso de dos pasos:
- Implementar: crea una configuración de implementación y asocia el paquete con una carpeta de destino.
- Activar: hace que la implementación esté activa y operativa.
Esta separación te permite preparar las implementaciones con antelación y activarlas durante las ventanas de mantenimiento o después de la aprobación manual.
Implementar una solución
El comando deploy crea una implementación de un paquete de soluciones en un entorno específico.
Sintaxis del comando
uipcli solution deploy <package-name> [options]
uipcli solution deploy <package-name> [options]
Parámetros
| Parámetro | Descripción | Obligatorio |
|---|---|---|
<package-name> | Nombre del paquete cargado | Sí |
-v o --version | Versión del paquete a implementar | Sí |
-d o --deploymentName | Nombre de esta implementación | Sí |
-f o --deploymentFolderName | Nombre de la carpeta de destino en Orchestrator | Sí |
-U | URL de Orchestrator | Sí |
-T | Nombre del tenant | Sí |
-A | Nombre de la organización | Sí |
-I | ID de aplicación externa | Sí |
-S | Secreto de aplicación externa | Sí |
--applicationScope | Ámbitos opcionales (aplicados por defecto) | No |
--deploymentParentFolder | La carpeta de Orchestrator donde se creará la carpeta de implementación. Si no se especifica, la carpeta de implementación se creará en la carpeta del tenant. Cuando se especifica, la implementación se realizará en la carpeta correspondiente. Cuando se establece en "exampleuser@org.com 's espacio de trabajo", la implementación se realizará en el espacio de trabajo personal para el usuario especificado. | No |
--configPath | Ruta local al archivo de configuración de la solución; necesario en escenarios con sobrescritura de enlaces. Consulta Descargar paquetes de soluciones y configuraciones para obtener más información sobre la obtención de archivos de configuración. | No |
--traceLevel | Nivel de registro | No |
--ca-cert | Archivo(s) de CA raíz de confianza (PEM, DER o PKCS#7) para el certificado TLS de Orchestrator/Identity. Repetir o separar por comas. Consulta Confiar en certificados personalizados. | No |
--pinnedpubkey | Anclar la clave pública hoja (sha256//<base64>). Consulta Confiar en certificados personalizados. | No |
Ámbitos de aplicación predeterminados para soluciones
Al utilizar la autenticación de aplicaciones externas sin especificar el parámetro --applicationScope , la CLI aplica automáticamente estos ámbitos de solución predeterminados:
Solutions.Packages Solutions.Deployments OR.Execution
Importante: Los tres ámbitos son necesarios para todos los comandos CLI relacionados con la solución. Estos ámbitos se agrupan para proporcionar una cobertura completa para todos los comandos de la solución disponibles y deben configurarse de forma colectiva en lugar de individualmente por comando.
Si ya existe una implementación con el mismo nombre en cualquier nivel dentro del tenant en Orchestrator, esta operación actualiza la implementación existente en lugar de crear una nueva. Si la implementación existente está en estado Fallido, la actualización no continúa; resolver o desinstalar la implementación fallida antes de volver a intentarlo.
Las soluciones implementadas a nivel de tenant no asignan automáticamente un usuario a la carpeta resultante. Para asignar una cuenta, asegúrate de que la configuración adecuada esté establecida en Orchestrator (Tenant > Carpetas).
Autenticación
Consulta Autenticación y ámbitos para conocer los ámbitos necesarios y Configuración de la aplicación externa.
Ejemplo
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
Convenciones de nomenclatura de implementación
Elige nombres de implementación significativos que incluyan:
- Nombre de la solución
- Identificador de entorno
- Versión o fecha
Ejemplos
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
Esto facilita el seguimiento y la gestión de las implementaciones en todos los entornos.
Qué sucede durante la implementación
Al ejecutar el comando de implementación:
- El paquete se valida en Soluciones.
- Se crea una configuración de implementación.
- La implementación está asociada a la carpeta de destino.
- Se inicializan los enlaces específicos del entorno.
- La implementación está preparada pero aún no está activa.
La solución no comienza a ejecutar procesos hasta que la actives.
Reusing existing resources
By default, deploying a Solution provisions every resource in the target folder. When the target environment already contains a resource you want to reuse, such as a shared connection to an external system, link the Solution's resource to the existing one through the deployment configuration file, then deploy with --configPath.
This is the pipeline equivalent of choosing Customize and linking a resource by hand when you deploy a Solution manually in Orchestrator.
Linking a resource that lives in an Orchestrator folder requires the OR.Folders and RCS.FolderAuthorization scopes, and the External Application must be assigned to the folder that holds the existing resource.
Pasos
-
Download the deployment configuration for the package. See Downloading Solution Packages and Configs.
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" -
Open the downloaded configuration file.
-
Locate the entry for the resource you want to reuse.
-
Add a
linkToResourceblock that points the entry at the existing Orchestrator resource by name and folder. For a connection resource, the entry looks like this:{ "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" } }The
linkToResourceobject points the Solution's resource at the existing one; the fields underconfigurationvary by resource type. -
Deploy the Solution, passing the edited configuration with
--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"
The deployment reuses the linked resource instead of creating a new one in the target folder.
Connection authentication
For connection resources, linking an existing connection is one option among several. The authenticationType field in the configuration file accepts two values: ConfigurableByUsers and AuthenticateAfterDeployment.
Set authenticationType to ConfigurableByUsers to leave the connection unbound and defer its selection to execution time. Users select and authenticate the connection when the automation runs, which is also a valid configuration for activation.
With AuthenticateAfterDeployment, the connection must be authenticated after the deployment completes. If it is not authenticated by the time activation runs, the activation is reported as failed.
Activar una implementación
El comando deploy-activate hace que una implementación esté activa y operativa.
Sintaxis del comando
uipcli solution deploy-activate <deployment-name> [options]
uipcli solution deploy-activate <deployment-name> [options]
Parámetros
| Parámetro | Descripción | Obligatorio |
|---|---|---|
<deployment-name> | Nombre de la implementación que se va a activar | Sí |
-U | URL de Orchestrator | Sí |
-T | Nombre del tenant | Sí |
-A | Nombre de la organización | Sí |
-I | ID de aplicación externa | Sí |
-S | Secreto de aplicación externa | Sí |
--applicationScope | Ámbitos necesarios | Sí |
--traceLevel | Nivel de registro | No |
--ca-cert | Archivo(s) de CA raíz de confianza (PEM, DER o PKCS#7) para el certificado TLS de Orchestrator/Identity. Repetir o separar por comas. Consulta Confiar en certificados personalizados. | No |
--pinnedpubkey | Anclar la clave pública hoja (sha256//<base64>). Consulta Confiar en certificados personalizados. | No |
Autenticación
Consulta Autenticación y ámbitos para conocer los ámbitos necesarios y Configuración de la aplicación externa.
Ejemplo
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
Qué sucede durante la activación
Al activar una implementación:
- La implementación se convierte en la versión activa en la carpeta de destino.
- Los desencadenadores están activados.
- Se desactiva cualquier implementación previamente activa en la misma carpeta.
Integración del proceso CI/CD
Flujo de trabajo de implementación completo
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"
Implementaciones cerradas con aprobación manual
Puedes separar los pasos de implementación y activación para implementar los flujos de trabajo de aprobación:
# 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'
Promoción multientorno
Implementa la misma versión en varios entornos de forma secuencial:
# 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 ...
Estrategia de reversión
Para revertir a una versión anterior:
- Implementa la versión anterior con un nuevo nombre de implementación.
- Activa la implementación de la versión anterior.
- Opcionalmente, desinstala la implementación más reciente.
# 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óximos pasos
Después de implementar y activar las soluciones, puedes:
- Supervisar la ejecución en Orchestrator.
- Desinstala las implementaciones cuando ya no sean necesarias.
- Implementa nuevas versiones siguiendo el mismo flujo de trabajo.
- Flujo de trabajo de implementación
- Implementar una solución
- Sintaxis del comando
- Autenticación
- Ejemplo
- Convenciones de nomenclatura de implementación
- Qué sucede durante la implementación
- Reusing existing resources
- Pasos
- Connection authentication
- Activar una implementación
- Sintaxis del comando
- Autenticación
- Ejemplo
- Qué sucede durante la activación
- Integración del proceso CI/CD
- Flujo de trabajo de implementación completo
- Implementaciones cerradas con aprobación manual
- Promoción multientorno
- Estrategia de reversión
- Próximos pasos