- Información general
- Comience ya
- Instalar UiPath CLI
- Primeros comandos (inicio rápido)
- Su primer proceso
- Conceptos
- Uso de UiPath CLI
- UiPath para agentes de codificación
- Guías prácticas
- Recetas de CI/CD
- Referencia de los comandos
- Información general
- Códigos de salida
- Opciones globales
- agente de código UIP
- UIP Docsai
- añadir-entidad-de-datos-de-prueba
- añadir-cola-de-datos-de-prueba
- añadir-variación-de-datos-de-prueba
- Analizar
- Crear
- Crear proyecto
- Diferencia
- Buscar actividades
- obtener-reglas-del-analizador
- obtener-predeterminado-actividad-xaml
- obtener-errores
- obtener-casos-de-prueba-manual
- obtener-pasos-de-prueba-manual
- obtener versiones
- get-workflow-example
- indicar-aplicación
- indicar-elemento
- inspeccionar-paquete
- install-data-fabric-entities
- instalar-o-actualizar-paquetes
- enumerar-data-fabric-entities
- ejemplos-de-flujo-de-trabajo-de-lista
- Paquete
- restore
- archivo de ejecución
- plantillas-de-búsqueda
- iniciar-studio
- detener la ejecución
- UIA
- Seguimientos de UIP
- Migración
- Referencia y soporte
Guía del usuario de UiPath CLI
Esta página muestra cómo tomar una solución de UiPath en el disco y enviarla a Orchestrator de principio a fin: empaquetarla localmente, publicarla en la fuente de soluciones de tu tenant e implementarla en una carpeta. Utiliza la herramienta solution , que funciona igual desde un portátil de desarrollador y desde un proceso de CI.
Lo que necesitas
- UiPath CLI instalado y una sesión iniciada. Consulta Instalar UiPath CLI y autenticación.
- Una solución de UiPath en disco.
uip solution packacepta cualquiera de las dos formas (que coincide con la propiasolution pack --helpde CLI):- un directorio de soluciones que contiene un descriptor de soluciones
.uipx(el caso común: lo que escribe Studio y lo que creauip solution new), o - un archivo
.uisindependiente (un artefacto de solución preempaquetado).
- un directorio de soluciones que contiene un descriptor de soluciones
- Una ruta de carpeta de Orchestrator donde quieres implementar la solución (por ejemplo,
Shared/MySolutionFolder).
El flujo
Tres comandos, cada uno un paso independiente para que puedas ejecutarlos de forma independiente en un proceso de CI:
uip solution pack— produce un paquete.zipversionado desde el directorio de la solución.uip solution publish: carga.zipa la fuente de soluciones del tenant.uip solution deploy run— crea una carpeta e implementa el paquete publicado en Orchestrator.
Paso 1. Empaquetar la solución
uip solution pack ./my-solution ./dist \
--name my-solution \
--version 1.0.0
uip solution pack ./my-solution ./dist \
--name my-solution \
--version 1.0.0
Argumentos:
- El primer argumento posicional es el directorio de la solución (o un archivo
.uis). - El segundo es el directorio de salida.
uiplo crea si falta.
Marcadores:
--nameanula el nombre del paquete (predeterminado: el nombre del directorio de la solución).--versionestablece la versión del paquete (predeterminado:1.0.0). Utiliza el control de versiones semántico para mejorar la legibilidad y permitir que Orchestrator ordene las versiones correctamente.
En caso de éxito, se escribe ./dist/my-solution.1.0.0.zip . La respuesta JSON devuelve Data.Package (en formato name@version) y Data.Packages (los nombres de archivo .nupkg internos). La ruta .zip en sí sigue la convención {outputDir}/{name}.{version}.zip, por lo que los procesos pueden construirla sin analizar JSON:
NAME=my-solution
VERSION=1.0.0
uip solution pack ./my-solution ./dist --name "$NAME" --version "$VERSION"
PACKAGE="./dist/${NAME}.${VERSION}.zip"
NAME=my-solution
VERSION=1.0.0
uip solution pack ./my-solution ./dist --name "$NAME" --version "$VERSION"
PACKAGE="./dist/${NAME}.${VERSION}.zip"
Paso 2. Publicar en el tenant
uip solution publish ./dist/my-solution.1.0.0.zip
uip solution publish ./dist/my-solution.1.0.0.zip
El paquete se carga en la fuente de soluciones del tenant. Orchestrator asigna un PackageVersionKey : la identidad de esta versión específica en el tenant. publish es idempotente por (name, version) : volver a ejecutarlo con la misma versión devuelve la versión existente en lugar de duplicarla.
Si se ejecuta en un tenant específico de una organización multi tenant, pasa --tenant <tenant-name> a publish, pack es independiente del tenant. En caso de duda, uip login status muestra el tenant al que está vinculado CLI actualmente.
Paso 3. Implementar en Orchestrator
uip solution deploy run \
--name MyFirstDeployment \
--package-name my-solution \
--package-version 1.0.0 \
--folder-name MySolutionFolder \
--folder-path Shared
uip solution deploy run \
--name MyFirstDeployment \
--package-name my-solution \
--package-version 1.0.0 \
--folder-name MySolutionFolder \
--folder-path Shared
Marcadores (obligatorios a menos que se indique lo contrario):
--name: el nombre de la implementación (no el nombre del paquete). Usa algo significativo; esto identifica la implementación para futuras llamadasdeploy status/deploy activate.--package-name,--package-version: coincide con lo que publicaste en el paso 2.--folder-name: la carpeta de Orchestrator que se creará para esta implementación.--folder-path: la ruta de la carpeta principal.Sharedes la raíz del tenant.--folder-key: el GUID de la carpeta principal; utilízalo en lugar de--folder-pathsi prefieres vincular por ID.
deploy run sondea Orchestrator hasta que la implementación alcanza un estado terminal (tiempo de espera de sondeo predeterminado 360 segundos, ajustable con --timeout). La respuesta incluye la ruta de la nueva carpeta y la clave de implementación.
--name y --folder-name son dos cosas diferentes. --name nombra el registro de implementación; --folder-name nombra la nueva carpeta de Orchestrator que crea la implementación. Elegir el mismo valor para ambos está bien y es común.
Reuniéndolos en CI
#!/usr/bin/env bash
set -euo pipefail
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT"
uip solution pack ./my-solution ./dist --version "$BUILD_VERSION"
uip solution publish "./dist/my-solution.$BUILD_VERSION.zip"
uip solution deploy run \
--name "my-solution-$GIT_SHA" \
--package-name my-solution \
--package-version "$BUILD_VERSION" \
--folder-name MySolutionFolder \
--folder-path Shared
#!/usr/bin/env bash
set -euo pipefail
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant "$UIPATH_TENANT"
uip solution pack ./my-solution ./dist --version "$BUILD_VERSION"
uip solution publish "./dist/my-solution.$BUILD_VERSION.zip"
uip solution deploy run \
--name "my-solution-$GIT_SHA" \
--package-name my-solution \
--package-version "$BUILD_VERSION" \
--folder-name MySolutionFolder \
--folder-path Shared
El script sale en el primer estado distinto de cero, por lo que un fallo en cualquier paso aborta la compilación. uip devuelve 0 en caso de éxito y 1 en caso de error; los comandos con semántica específica del dominio (por ejemplo, uip tm wait, que reutiliza 2 para el tiempo de espera) pueden devolver otros códigos; consulta Códigos de salida.
Después de la implementación
Con la solución implementada, Orchestrator tiene una carpeta (Shared/MySolutionFolder), un proceso por proyecto implementable en la solución y todos los recursos asociados (activos, colas, desencadenadores). Ahora puedes:
# confirm the folder exists
uip or folders list --all --path "Shared/MySolutionFolder"
# find the processes that were created
uip or processes list --folder-path "Shared/MySolutionFolder"
# start a job
uip or jobs start <process-key>
# inspect the deployment
uip solution deploy status --deployment-key <deployment-key>
# confirm the folder exists
uip or folders list --all --path "Shared/MySolutionFolder"
# find the processes that were created
uip or processes list --folder-path "Shared/MySolutionFolder"
# start a job
uip or jobs start <process-key>
# inspect the deployment
uip solution deploy status --deployment-key <deployment-key>
¿Qué pasa con un solo proyecto de Studio?
Para un solo proyecto de Studio (un directorio con project.json , no una solución), el proceso clásico es pack a .nupkg → upload to a feed → create a process. Ese flujo utiliza comandos de las herramientas rpa y or :
uip rpa pack ./MyStudioProject ./dist
uip or packages upload ./dist/MyStudioProject.1.0.0.nupkg
uip or processes create \
--name MyProcess \
--package-key MyStudioProject \
--package-version 1.0.0 \
--folder-path Shared
uip rpa pack ./MyStudioProject ./dist
uip or packages upload ./dist/MyStudioProject.1.0.0.nupkg
uip or processes create \
--name MyProcess \
--package-key MyStudioProject \
--package-version 1.0.0 \
--folder-path Shared
Consulta uip rpa y las referencias de paquetes y procesos de Orchestrator para obtener listas de marcadores completas.
Próximos pasos
- Tutorial: implementar en Orchestrator desde CI : variantes por plataforma de CI.
- Recetas de CI/CD: Azure DevOps, GitHub Actions, Jenkins, GitLab.
- referencia de la solución uip : cada subcomando
solution. - Empaquetar y publicar una solución (instrucciones) : cobertura más profunda que incluye la estrategia de control de versiones y la promoción multientorno.