- Überblick
- UiPath-CLI
- Über UiPath-CLI
- Herunterladen der UiPath-CLI
- Kompatibilitätsmatrix
- Ausführen der UiPath-CLI
- Verwalten von NuGet-Feeds
- Vertrauenswürdige benutzerdefinierte Zertifikate
- Test Manager-Support
- Packen von Projekten in ein Paket
- Signieren von Projektpaketen
- Analysieren eines Projekts
- Bereitstellen eines Pakets im Orchestrator
- Ausführen eines Auftrags im Orchestrator
- Testen eines Pakets oder Ausführen eines Testsatzes
- Testen mehrerer Pakete
- Eingabeparameter JSON-Format
- Bereitstellen von Assets im Orchestrator
- Löschen von Assets aus dem Orchestrator
- Ausführen von Aufgaben mithilfe der JSON-Konfiguration
- Wiederherstellen von Automatisierungsabhängigkeiten
- Überblick
- Wiederherstellen und Analysieren von Lösungen
- Eine Lösung wird gepackt
- Signieren von Lösungspaketen
- Hochladen und Löschen von Lösungspaketen
- Herunterladen von Lösungspaketen und Konfigurationen
- Bereitstellen und Aktivieren von Lösungen
- Deinstallieren von Bereitstellungen
- Authentifizierung und Scopes
- Fehlerbehebung bei der UiPath-CLI
- Azure DevOps-Erweiterung
- Jenkins-Plugin
Benutzerhandbuch zu CI/CD-Integrationen
Auf dieser Seite werden die drei CLI-Parameter beschrieben, die steuern, welche NuGet-Feeds uipcli beim Auflösen von Paketabhängigkeiten konsultiert werden sollen, und es wird gezeigt, wie die einzelnen Elemente verwendet werden.
Die gleichen Parameter gelten sowohl für eigenständige RPA-Projekte als auch für Lösungen.
Wie uicli Feeds auflöst
Standardmäßig löst uipcli Pakete aus drei Quellen auf, die in dieser Reihenfolge zusammengeführt werden:
- Integrierte Feeds, die mit der CLI ausgeliefert werden:
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(wenn sich dieser Pfad auf dem aktuellen Agenten befindet)C:\Program Files (x86)\Microsoft SDKs\NuGetPackages(wenn sich dieser Pfad auf dem aktuellen Agenten befindet)
- NuGet-Konfiguration auf Hostebene auf der Maschine, auf der die CLI ausgeführt wird, in der Regel
%AppData%\NuGet\NuGet.Config(Benutzerebene) und%ProgramFiles(x86)%\NuGet\Config(Maschinenebene). - Ein benutzerdefinierter
nuget.config, den Sie über--nugetConfigFilePathübergeben.
Mit drei Parametern können Sie diese Standardauflösung anpassen:
| Parameter | Was es steuert |
|---|---|
--nugetConfigFilePath | Fügt die Feeds aus einer nuget.config -Datei hinzu, die Sie bereitstellen. |
--disableBuiltInNugetFeeds | Entfernt Ebene 1 (die integrierten Feeds). |
--excludeConfiguredSources | Löscht die Ebenen 1 und 2. Nur die --nugetConfigFilePath -Feeds bleiben erhalten. |
Wenn Sie uipcli mit einer Konfigurationsdatei ausführen, hat jeder Parameter ein JSON-Äquivalent: "nugetConfigFilePath": "...", "disableBuiltInNugetFeeds": true, "excludeConfiguredSources": true.
Hinzufügen benutzerdefinierter Feeds mit --nugetConfigFilePath
--nugetConfigFilePath verweist die CLI auf eine nuget.config -Datei, deren <packageSources> in die Abhängigkeitsauflösung aufgenommen werden soll. Dies ist die primäre Methode, um einen privaten Feed (UnternehmensproGet, Artifact, Azure Artifacts, internes Enterprise-Feed usw.) hinzuzufügen, ohne etwas am Build-Agent zu ändern.
Die Datei folgt dem Standardschema von NuGet:
<?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>
Übergeben Sie den Pfad in der Befehlszeile:
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"
Die CLI ignoriert das Tag <clear /> in der Datei, die Sie über --nugetConfigFilePath übergeben. Um die integrierten Quellen und Quellen auf Hostebene auszuschließen, verwenden Sie stattdessen --excludeConfiguredSources .
Alternative: Platzieren Sie nuget.config im CLI-Cache-Ordner
Wenn Sie den Parameter nicht bei jedem Aufruf übergeben möchten, können Sie die nuget.config in dem Ordner ablegen, in dem uipcli zwischengespeichert wird. Die CLI übernimmt dies automatisch.
Verwenden eines benutzerdefinierten nuget.config in Azure DevOps
Kopieren Sie nuget.config nach dem Schritt InstallPlatform in $(Agent.ToolsDirectory)/uipcli :
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'
Verwenden eines benutzerdefinierten nuget.config in Jenkins
Kopieren Sie nuget.config nach dem Schritt InstallPlatform in ${WORKSPACE}/CLI :
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()
)
}
}
}
}
Deaktivieren integrierter Feeds mit --disableBuiltInNugetFeeds
--disableBuiltInNugetFeeds entfernt die integrierten Feeds von UiPath aus der Lösung. Die NuGet-Konfiguration auf Hostebene und alle Feeds aus --nugetConfigFilePath werden weiterhin berücksichtigt.
Gehen Sie so vor, wenn:
- Ihr Netzwerk blockiert
pkgs.dev.azure.com,gallery.uipath.comoderapi.nuget.orgund Sie spiegeln stattdessen die Pakete intern wider. - Sie möchten einen deterministischen Satz von Aktivitätspaketversionen, die aus Ihrem eigenen Feed und nicht aus
gallery.uipath.comstammen.
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
Einschränken auf benutzerdefinierte Feeds nur mit --excludeConfiguredSources
--excludeConfiguredSources schließt sowohl die integrierten Feeds als auch die NuGet-Quellen aus, die auf Benutzer- und Maschinenebene auf dem Host konfiguriert sind, auf dem die CLI ausgeführt wird (normalerweise %AppData%\NuGet\NuGet.Config und %ProgramFiles(x86)%\NuGet\Config). Die CLI löst Pakete nur aus den in --nugetConfigFilePath definierten Feeds auf.
Gehen Sie so vor, wenn:
- Sie möchten hermetische, reproduzierbare Builds, bei denen nur die Feeds abgefragt werden, die Sie in der Versionskontrolle deklarieren.
- Ein gemeinsam genutzter Build-Agent verfügt über Feeds auf Maschinenebene, die nicht in bestimmte Pipelines eingebunden werden sollen.
- Sie debuggen „funktioniert bei Agent A, schlägt bei Agent B fehl“-Probleme, die durch eine unterschiedliche NuGet-Konfiguration auf Hostebene verursacht werden.
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
Stellen Sie sicher, dass die nuget.config die Sie mit --nugetConfigFilePath übergeben, jeden Feed deklariert, den Ihr Projekt benötigt – einschließlich aller UiPath-Feed-Äquivalente –, da keine andere Quelle konsultiert wird.
- Wie uicli Feeds auflöst
- Hinzufügen benutzerdefinierter Feeds mit
--nugetConfigFilePath - Alternative: Platzieren Sie
nuget.configim CLI-Cache-Ordner - Verwenden eines benutzerdefinierten
nuget.configin Azure DevOps - Verwenden eines benutzerdefinierten
nuget.configin Jenkins - Deaktivieren integrierter Feeds mit
--disableBuiltInNugetFeeds - Einschränken auf benutzerdefinierte Feeds nur mit
--excludeConfiguredSources