- 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
Configura las fuentes de NuGet para UiPath CLI para controlar cómo se resuelven las dependencias de los paquetes.
Esta página describe los tres parámetros CLI que controlan qué fuentes de uipcli consulta al resolver dependencias de paquetes y muestra cómo utilizar cada uno.
Los mismos parámetros se aplican tanto a los proyectos de RPA independientes como a las soluciones.
Cómo resuelve uipcli las fuentes
De forma predeterminada, uipcli resuelve los paquetes de tres orígenes, fusionados en este orden:
- Fuentes integradas enviadas con la CLI:
https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.jsonhttps://gallery.uipath.com/api/v2https://api.nuget.org/v3/index.jsonC:\Program Files\Microsoft SDKs\NuGetPackages(si esta ruta está en el agente actual)C:\Program Files (x86)\Microsoft SDKs\NuGetPackages(si esta ruta está en el agente actual)
- Configuración de NuGet en el nivel de host en la máquina que ejecuta la CLI, normalmente
%AppData%\NuGet\NuGet.Config(nivel de usuario) y%ProgramFiles(x86)%\NuGet\Config(nivel de máquina). - Un
nuget.configpersonalizado que pasas a través de--nugetConfigFilePath.
Tres parámetros te permiten personalizar esta resolución predeterminada:
| Parámetro | Qué controla |
|---|---|
--nugetConfigFilePath | Añade las fuentes desde un archivo nuget.config que proporciones. |
--disableBuiltInNugetFeeds | Suelta la capa 1 (las fuentes integradas). |
--excludeConfiguredSources | Suelta las capas 1 y 2. Solo permanecen las fuentes --nugetConfigFilePath . |
Cuando ejecutas uipcli con un archivo de configuración, cada parámetro tiene un equivalente de estilo JSON: "nugetConfigFilePath": "...", "disableBuiltInNugetFeeds": true, "excludeConfiguredSources": true.
Añadir fuentes personalizadas con --nugetConfigFilePath
--nugetConfigFilePath apunta la CLI a un archivo nuget.config cuya <packageSources> quieres incluir en la resolución de dependencias. Esta es la forma principal de añadir una fuente privada (ProGet corporativa, Artifactory, Azure Artifacts, Nexus interno, etc.) sin modificar nada en el agente de compilación.
El archivo sigue el esquema NuGet estándar:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyCustomFeed" value="https://my.corp.example/nuget/v3/index.json" />
</packageSources>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyCustomFeed" value="https://my.corp.example/nuget/v3/index.json" />
</packageSources>
</configuration>
Pasa la ruta en la línea de comandos:
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config"
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config"
A partir del 25.10.18, el archivo se respeta de principio a fin: la CLI lo reenvía a WorkflowCompiler, que lo carga directamente a través de las bibliotecas NuGet. Las siguientes directivas tienen efecto:
| Directiva | Efecto |
|---|---|
<clear /> Dentro <packageSources> | Suelta la lista heredada de orígenes (fuentes integradas y configuración en el nivel de host) antes de que se aplique el resto del archivo. |
<packageSourceCredentials> | Credenciales por origen. La autenticación básica contra fuentes privadas (JFrog, Sonatype Nexus, Azure Artifacts internos, etc.) la gestiona el proceso HTTP nativo de NuGet, incluidos los desafíos 401. |
<packageSourceMapping> | Restringe qué ID de paquete (o prefijos de ID) se pueden resolver a partir de qué orígenes. |
<fallbackPackageFolders> | Añade carpetas locales que NuGet consulta antes de ir a la red. Útil para compilaciones aisladas. |
Fuente privada autenticada (JFrog, Nexus, Azure Artifacts interno)
Declara el origen y sus credenciales en el mismo archivo. La CLI no necesita ningún parámetro adicional: el cliente NuGet recoge las credenciales automáticamente cuando llega al origen coincidente:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="UiPath-Internal" value="https://artifactory.contoso.example/api/nuget/v3/uipath-feed/index.json" protocolVersion="3" />
</packageSources>
<packageSourceCredentials>
<UiPath-Internal>
<add key="Username" value="ci-bot" />
<add key="ClearTextPassword" value="%ARTIFACTORY_TOKEN%" />
</UiPath-Internal>
</packageSourceCredentials>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="UiPath-Internal" value="https://artifactory.contoso.example/api/nuget/v3/uipath-feed/index.json" protocolVersion="3" />
</packageSources>
<packageSourceCredentials>
<UiPath-Internal>
<add key="Username" value="ci-bot" />
<add key="ClearTextPassword" value="%ARTIFACTORY_TOKEN%" />
</UiPath-Internal>
</packageSourceCredentials>
</configuration>
Inyecta la contraseña a través de un secreto de CI, no en el archivo directamente. NuGet expande las variables de entorno del formulario %VAR% cuando lee el archivo.
Restringir qué fuentes resuelven qué paquetes
Usa <packageSourceMapping> cuando quieras que los paquetes de actividades de UiPath provengan de tu réplica interna, pero permitas que otras dependencias caigan en una fuente diferente:
<configuration>
<packageSources>
<add key="UiPath-Internal" value="https://artifactory.contoso.example/api/nuget/v3/uipath-feed/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="UiPath-Internal">
<package pattern="UiPath.*" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
</configuration>
<configuration>
<packageSources>
<add key="UiPath-Internal" value="https://artifactory.contoso.example/api/nuget/v3/uipath-feed/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="UiPath-Internal">
<package pattern="UiPath.*" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
</configuration>
En las versiones de CLI anteriores a la 25.10.18, solo las URL <packageSources> se reenviaron al empaquetador: <clear />, <packageSourceCredentials>, <packageSourceMapping> y <fallbackPackageFolders> se ignoraron silenciosamente. Para anclar la resolución de dependencias a tu nuget.config en compilaciones CLI anteriores, combina --nugetConfigFilePath con --excludeConfiguredSources y proporciona credenciales a través de la configuración de NuGet del host.
Alternativa: coloca nuget.config en la carpeta de caché CLI
Si prefieres no pasar el parámetro en cada invocación, puedes soltar el nuget.config en la carpeta donde se almacena uipcli . El CLI lo recoge automáticamente.
Utilizar un nuget.config personalizado en Azure DevOps
Copia nuget.config a $(Agent.ToolsDirectory)/uipcli después del paso InstallPlatform :
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@6
inputs:
cliVersion: '25.10'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@6
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@6
inputs:
cliVersion: '25.10'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@6
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
Utilizar un nuget.config personalizado en Jenkins
Copia nuget.config a ${WORKSPACE}/CLI después del paso InstallPlatform :
pipeline {
agent {
label 'jenkins-agent'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/your-org/your-repo.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
cliVersion: '25.10',
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}
pipeline {
agent {
label 'jenkins-agent'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/your-org/your-repo.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
cliVersion: '25.10',
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}
Deshabilitar fuentes integradas con --disableBuiltInNugetFeeds
--disableBuiltInNugetFeeds elimina las fuentes integradas de UiPath de la resolución. Se sigue consultando la configuración de NuGet en el nivel de host y cualquier fuente de --nugetConfigFilePath .
Utilízalo cuando:
- Tu red bloquea
pkgs.dev.azure.com,gallery.uipath.comoapi.nuget.org, y en su lugar duplicas los paquetes internamente. - Deseas un conjunto determinista de versiones de paquetes de actividades procedentes de tu propia fuente, no de
gallery.uipath.com.
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--disableBuiltInNugetFeeds
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--disableBuiltInNugetFeeds
Restringir a fuentes personalizadas solo con --excludeConfiguredSources
--excludeConfiguredSources tanto las fuentes integradas como las fuentes de NuGet configuradas a nivel de usuario y máquina en el host que ejecuta la CLI (normalmente %AppData%\NuGet\NuGet.Config y %ProgramFiles(x86)%\NuGet\Config). La CLI resuelve los paquetes solo a partir de las fuentes definidas en --nugetConfigFilePath.
Utilízalo cuando:
- Quieres compilaciones herméticas y reproducibles en las que solo se consulten las fuentes que declaras en el control de versiones.
- Un agente de compilación compartido tiene fuentes en el nivel de máquina que no quieres sangrar en procesos específicos.
- Está depurando problemas "funciona en el agente A, falla en el agente B" causados por una configuración de NuGet divergente en el nivel de host.
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--excludeConfiguredSources
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--excludeConfiguredSources
Asegúrate de que nuget.config que pasas con --nugetConfigFilePath declara cada fuente que tu proyecto necesita, incluido cualquier equivalente de fuente de UiPath, porque no se consulta ninguna otra fuente.
- Cómo resuelve uipcli las fuentes
- Añadir fuentes personalizadas con
--nugetConfigFilePath - Fuente privada autenticada (JFrog, Nexus, Azure Artifacts interno)
- Restringir qué fuentes resuelven qué paquetes
- Alternativa: coloca
nuget.configen la carpeta de caché CLI - Utilizar un
nuget.configpersonalizado en Azure DevOps - Utilizar un
nuget.configpersonalizado en Jenkins - Deshabilitar fuentes integradas con
--disableBuiltInNugetFeeds - Restringir a fuentes personalizadas solo con
--excludeConfiguredSources