cicd-integrations
2025.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Benutzerhandbuch zu CI/CD-Integrationen

Letzte Aktualisierung 12. Dez. 2025

Packen einer Lösung

Der Befehl pack erstellt ein bereitstellbares Lösungspaket (.zip -Archiv), das in Lösungen im Orchestrator hochgeladen werden kann.

Befehlssyntax

uipcli solution pack <solution-path> [options]
uipcli solution pack <solution-path> [options]

Parameter:

ParameterBeschreibungErforderlich
<solution-path> (pos. 0)Pfad zum Lösungsordner oder zur Datei .uipxJa
--outputVerzeichnis, in dem das Paket erstellt wirdJa
--versionVersionsnummer im Format x.y.zJa
-A, --libraryOrchestratorAccountForApp (*)Der Name des Orchestrator CloudRPA-Kontos (Organisationsname). Sie müssen es mit der Anwendungs-ID,dem Anwendungsgeheimnis und dem Anwendungs-Scope für eine externe Anwendung koppeln. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen Prozess abhängt, der in Orchestrator bereitgestellt wird.Nein
-I ,--libraryOrchestratorApplicationId (*) (Erforderlich, wenn Sie die Authentifizierung einer externen Anwendung verwenden )Die ID der externen Anwendung. Sie müssen es mit dem Anwendungskonto, dem Anwendungsgeheimnis und dem Anwendungs-Scope koppeln. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen in Orchestrator bereitgestellten Prozess abhängt.Nein
-S, --libraryOrchestratorApplicationSecret (*) (Erforderlich, wenn Sie die Authentifizierung einer externen Anwendung verwenden )Das Geheimnis externen Anwendung. Sie müssen es mit dem Anwendungskonto, der Anwendungs-ID und dem Anwendungs-Scope koppeln. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen in Orchestrator bereitgestellten Prozess abhängt.Nein
--libraryOrchestratorApplicationScope (*) (Optional für die Authentifizierung externer Anwendungen)Die Liste der Anwendungs-Scopes, getrennt durch einzelne Leerzeichen. Sie müssen es mit dem Anwendungskonto, der Anwendungs-ID und dem Anwendungsgeheimnis für eine externe Anwendungen koppeln. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen in Orchestrator bereitgestellten Prozess abhängt.Nein
--libraryOrchestratorUrl (*)Die URL der Orchestrator-Instanz. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen in Orchestrator bereitgestellten Prozess abhängt.Nein
--libraryOrchestratorTenant (*)Der Mandant der Orchestrator-Instanz. Dies ist erforderlich, wenn ein Lösungsprojekt von Bibliotheken aus dem Orchestrator-Feed oder von einem anderen in Orchestrator bereitgestellten Prozess abhängt.Nein
--libraryIdentityUrl(Erforderlich für PaaS- oder MSI- Bereitstellungen)Die URL Ihres Identitätsservers.Nein
--libraryOrchestratorFolder (*)Der Name des Ziel-Orchestrator-Ordners. Um Unterordner einzugeben, geben Sie sowohl den Namen des übergeordneten Ordners als auch den Namen des Unterordners ein. Zum Beispiel AccountingTeam\TeamJohn.Nein
--disableBuiltInNugetFeedsDeaktivieren Sie integrierte NuGet-Feeds.Nein
--repositoryUrlDie Repository-URL, unter der das Projekt versioniert wird.Nein
--repositoryCommitDer Repository-Commit, aus dem das Projekt erstellt wurde.Nein
--repositoryBranchDie Repository-Verzweigung, aus der das Projekt erstellt wurde.Nein
--repositoryTypeVCS-System-Repository-Typ.Nein
--projectUrlURL der Automation Hub-Idee.Nein
--releaseNotesVersionshinweise hinzufügen.Nein
--authorDer Paketautor.Nein
--traceLevelZeigt die Ablaufverfolgung der Ereignisse an.Nein
Hinweis:

Wenn Sie die Authentifizierung einer externen Anwendung verwenden, ohne den Parameter --libraryOrchestratorApplicationScope anzugeben, wendet die CLI automatisch diese standardmäßigen Orchestrator-Scopes an:

Solutions.Packages Solutions.Deployments OR.Execution

Beispiel

uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose

Dadurch wird eine Paketdatei erstellt wie:

C:\Output\MySolution.1.2.3.zip
C:\Output\MySolution.1.2.3.zip

Beispiel für vollständige Parameter

uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --libraryOrchestratorAccountForApp MyOrgAccount \
  --libraryOrchestratorApplicationId ******* \
  --libraryOrchestratorApplicationSecret ******* \
  --libraryOrchestratorApplicationScope "OR.Assets OR.Folders OR.Projects" \
  --libraryOrchestratorUrl https://cloud.uipath.com/myOrgName/myTenantName \
  --libraryOrchestratorTenant myTenantName \
  --libraryIdentityUrl https://identity.uipath.com \
  --libraryOrchestratorFolder "AccountingTeam\TeamJohn" \
  --disableBuiltInNugetFeeds \
  --repositoryUrl https://github.com/my-org/my-repo \
  --repositoryCommit 7f3a9c2 \
  --repositoryBranch main \
  --repositoryType git \
  --projectUrl https://automationhub.uipath.com/ideas/1234 \
  --releaseNotes "Initial packaged solution version" \
  --traceLevel Verbose
  --author ExampleAuthor
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --libraryOrchestratorAccountForApp MyOrgAccount \
  --libraryOrchestratorApplicationId ******* \
  --libraryOrchestratorApplicationSecret ******* \
  --libraryOrchestratorApplicationScope "OR.Assets OR.Folders OR.Projects" \
  --libraryOrchestratorUrl https://cloud.uipath.com/myOrgName/myTenantName \
  --libraryOrchestratorTenant myTenantName \
  --libraryIdentityUrl https://identity.uipath.com \
  --libraryOrchestratorFolder "AccountingTeam\TeamJohn" \
  --disableBuiltInNugetFeeds \
  --repositoryUrl https://github.com/my-org/my-repo \
  --repositoryCommit 7f3a9c2 \
  --repositoryBranch main \
  --repositoryType git \
  --projectUrl https://automationhub.uipath.com/ideas/1234 \
  --releaseNotes "Initial packaged solution version" \
  --traceLevel Verbose
  --author ExampleAuthor

Versionierungsanforderung

Im Gegensatz zu eigenständigen Projekten erhöhen Lösungen ihre Versionsnummer nicht automatisch. Sie müssen explizit eine Version mit dem Parameter --version angeben.

Typische Versionierungsmuster bei CI/CD

Die meisten Teams generieren die Version dynamisch basierend auf Build-Metadaten:

Verwenden der Build-ID:

--version "1.0.$BUILD_ID"
--version "1.0.$BUILD_ID"

Verwenden von Git Commit-SHA:

--version "2.1.${GIT_COMMIT_SHA:0:7}"
--version "2.1.${GIT_COMMIT_SHA:0:7}"

Verwendung semantischer Versionierung mit Datum:

--version "$(date +%Y.%m.$BUILD_NUMBER)"
--version "$(date +%Y.%m.$BUILD_NUMBER)"

Versionsformat

Die Version muss der semantischen Versionierung folgen:

  • Format: MAJOR.MINOR.PATCH
  • Beispiel: 1.0.0, 2.3.45, 10.20.1234
  • Muss genau drei numerische Komponenten enthalten, die durch Punkte getrennt sind

Pipelineintegration

Azure DevOps-Beispiel

- script: |
    uipcli solution pack $(Build.SourcesDirectory)\MySolution \
      --output $(Build.ArtifactStagingDirectory) \
      --version "1.0.$(Build.BuildId)" \
      --traceLevel Information
  displayName: 'Pack Solution'
- script: |
    uipcli solution pack $(Build.SourcesDirectory)\MySolution \
      --output $(Build.ArtifactStagingDirectory) \
      --version "1.0.$(Build.BuildId)" \
      --traceLevel Information
  displayName: 'Pack Solution'

Beispiel für GitHub-Aktionen

- name: Pack Solution
  run: |
    uipcli solution pack ${{ github.workspace }}/MySolution \
      --output ${{ runner.temp }}/packages \
      --version "1.0.${{ github.run_number }}" \
      --traceLevel Information
- name: Pack Solution
  run: |
    uipcli solution pack ${{ github.workspace }}/MySolution \
      --output ${{ runner.temp }}/packages \
      --version "1.0.${{ github.run_number }}" \
      --traceLevel Information

Was verpackt wird

Die Packbefehlspakete:

  • Alle in der Lösung enthaltenen Projekte
  • Abhängigkeiten auf Projektebene
  • Lösungsmetadaten und -konfiguration
  • Bindungsdefinitionen für umgebungsspezifische Einstellungen

Die resultierende .zip -Datei ist in sich selbst enthalten und kann in den Orchestrator hochgeladen werden.

Verpackung nach der Wiederherstellung

Für beste Ergebnisse führen Sie restore vor pack aus, um sicherzustellen, dass alle Abhängigkeiten aufgelöst werden:

# 1. Restore dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Pack with explicit version
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose
# 1. Restore dependencies
uipcli solution restore C:\Solutions\MySolution \
  --restoreFolder C:\Output\Dependencies \
  --traceLevel Information

# 2. Pack with explicit version
uipcli solution pack C:\Solutions\MySolution \
  --output C:\Output \
  --version 1.2.3 \
  --traceLevel Verbose

Speicherort der Paketausgabe

Die verpackte .zip -Datei wird in dem von --output angegebenen Verzeichnis platziert. Wenn das Verzeichnis nicht vorhanden ist, wird es automatisch erstellt.

Typische Ausgabepfade

Azure DevOps:

--output $(Build.ArtifactStagingDirectory)
--output $(Build.ArtifactStagingDirectory)

GitHub-Aktionen:

--output ${{ runner.temp }}/packages
--output ${{ runner.temp }}/packages

Jenkins:

--output ${WORKSPACE}/output
--output ${WORKSPACE}/output

Nächste Schritte

Nach dem Packen können Sie:

  1. Laden Sie das Paket in die Lösungsverwaltung hoch.
  2. Speichern Sie es als Build-Artefakt in Ihrer CI/CD-Plattform.
  3. Version sie in einem Artefakt-Repository (Artifact, Azure Artifacts usw.).

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo
Vertrauen und Sicherheit
© 2005–2026 UiPath. Alle Rechte vorbehalten