- Información general
- Comience ya
- Instalar UiPath CLI
- Primeros comandos (inicio rápido)
- Su primer proceso
- Conceptos
- Uso de UiPath CLI
- 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
- codificador UIP
- Contextualización de UIP
- UIP Docsai
- Función uip
- barreras de seguridad de UIP
- Configuración de UIP llm
- puerta de enlace llm de uip
- UIP model-hub
- 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-repositorio-de-objetos-de-biblioteca
- obtener-objeto-repositorio
- obtener versiones
- get-workflow-example
- indicar-aplicación
- indicar-elemento
- inspeccionar-paquete
- install-data-fabric-entities
- instalar-o-actualizar-paquetes
- enumerar-data-fabric-entities
- lista-instancias
- ejemplos-de-flujo-de-trabajo-de-lista
- Paquete
- Publicar
- Remoto
- restore
- ejecutar, depurar & Ejecución
- archivo de ejecución
- plantillas-de-búsqueda
- iniciar-studio
- detener la ejecución
- TM
- UIA
- Tareas de UIP
- Archivo adjunto
- Campo personalizado
- Ejecuciones
- EtiquetaDeObjeto
- Paquete
- escenario de rendimiento
- grupos de carga de escenarios de rendimiento
- datos de ejecución de perf-scenario
- informe de escenario de rendimiento
- Proyecto
- Informar
- Requisitos
- Resultado
- Casos de prueba
- Conjuntos de prueba
- registro de pasos de prueba
- Usuario
- Esperar
- Seguimientos de UIP
- Comentarios de seguimientos de UIP
- Migración
- Referencia y soporte
Su primer proceso
Empaque, publique e implemente una solución de UiPath en Orchestrator de extremo a extremo utilizando la herramienta `solución uip`.
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 init), 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 name@version formato) y Data.Packages (la(s) .zip ruta(s) escrita(s)). 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 multitenant, utiliza --feed <name-or-key> o --personal-workspace en publish para apuntar a una fuente específica dentro del tenant. pack solo habla con un tenant cuando resuelve dependencias de NuGet de una fuente. En caso de duda, uip login status muestra el tenant al que está vinculada la CLI actualmente; cámbialo por uip login tenant set <tenant>.
Paso 3. Implementar en Orchestrator
uip solution deploy run \
--name MyFirstDeployment \
--package-name my-solution \
--package-version 1.0.0 \
--folder-name MySolutionFolder \
--parent-folder-path Shared
uip solution deploy run \
--name MyFirstDeployment \
--package-name my-solution \
--package-version 1.0.0 \
--folder-name MySolutionFolder \
--parent-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.--parent-folder-path: la ruta de la carpeta principal.Sharedes la raíz del tenant.--parent-folder-key: el GUID de la carpeta principal; utilízalo en lugar de--parent-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 \
--parent-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 \
--parent-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 <pipeline-deployment-id>
# 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 <pipeline-deployment-id>
¿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.