cicd-integrations
2025.10
true
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.
UiPath logo, featuring letters U and I in white

Guide de l'utilisateur des intégrations CI/CD

Dernière mise à jour 9 mars 2026

Compression d’une solution

La commande pack crée un package de solution déployable (.zip archive) qui peut être téléchargé vers Solutions dans Orchestrator.

Syntaxe de commande

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

Paramètres :

ParamètreDescriptionRequis
<solution-path> (pos. 0)Chemin d'accès au dossier de la solution ou au fichier .uipxOui (Yes)
--outputRépertoire où le paquet sera crééOui (Yes)
--versionNuméro de version au format x.y.zOui (Yes)
-A, --libraryOrchestratorAccountForApp (*)Le nom du compte Orchestrator CloudRPA (nom de l’organisation). Vous devez l'associer à l ' ID d'application,à la clé secrète de l'application et à l' étendue de l'application pour une application externe Cela est nécessaire si tout projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
-I ,--libraryOrchestratorApplicationId (*) (Requis si vous utilisez l'authentification d'application externe)ID d’application externe Vous devez l'associer au compte d'application, à l'ID d' application et à l'étendue de l'application. Ceci est requis si un projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
-S, --libraryOrchestratorApplicationSecret (*) (Requis si vous utilisez l'authentification d'application externe)La clé secrète de l'application externe. Vous devez l'associer au compte d' application, à l'ID d'application ) et à l'étendue de l'application. Ceci est requis si un projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
--libraryOrchestratorApplicationScope (*) (Facultatif pour l'authentification d'application externe)La liste des étendues d'application, séparées par des espaces simples. Vous devez l’associer à l ’ID d’application, à la clé secrète de l’ application et à l’étendue de l’application pour l’application externe Ceci est requis si un projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
--libraryOrchestratorUrl (*)Il s'agit de l'URL de votre Orchestrator. Ceci est requis si un projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
--libraryOrchestratorTenant (*)Le locataire de l'instance Orchestrator. Ceci est requis si un projet de solution dépend des bibliothèques du flux Orchestrator ou d'un autre processus déployé dans Orchestrator.Non (No)
--libraryIdentityUrl(Requis pour les déploiements PaaS ou MSI )L'URL de votre serveur d'identité.Non (No)
--libraryOrchestratorFolder (*)Le nom du dossier Orchestrator cible. Pour saisir des sous-dossiers, assurez-vous de saisir à la fois le nom du dossier parent et le nom du sous-dossier. Par exemple, utilisez AccountingTeam\TeamJohn.Non (No)
--nugetConfigFilePathChemin d'accès au fichier NuGet.Config contenant les flux. La balise <clear /> du fichier spécifié sera ignorée et seules les sources seront prises en compte.Non (No)
--disableBuiltInNugetFeedsDésactive les flux NuGet intégrés.Non (No)
--repositoryUrlL'URL du référentiel où le projet est versionné.Non (No)
--repositoryCommitLa validation du référentiel à partir duquel le projet a été créé.Non (No)
--repositoryBranchLa branche du référentiel à partir de laquelle le projet a été créé.Non (No)
--repositoryTypeType de référentiel système VCS.Non (No)
--projectUrlURL de l'idée Automation Hub.Non (No)
--releaseNotesAjouter des notes de publication.Non (No)
--authorAuteur du paquet.Non (No)
--traceLevelAfficher la trace des événements.Non (No)
Remarque :

Lorsque vous utilisez l'authentification d'application externe sans spécifier le paramètre --libraryOrchestratorApplicationScope , la CLI applique automatiquement les étendues Orchestrator suivantes par défaut :

Solutions.Packages Solutions.Deployments OR.Execution

Exemple

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

Cela crée un fichier de package comme :

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

Exemple de paramètre complet

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

Exigences de version

Contrairement aux projets autonomes, les solutions n’incrémentent pas automatiquement leur numéro de version. Vous devez explicitement fournir une version à l’aide du paramètre --version .

Schémas de version typiques dans CI/CD

La plupart des équipes génèrent la version de manière dynamique en fonction des métadonnées de build :

Utilisation de l’ID de build :

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

Utilisation du hachage SHA de validation de Git :

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

Utilisation du contrôle de version sémantique avec la date :

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

Format de version

La version doit suivre le contrôle de version sémantique :

  • Format : MAJOR.MINOR.PATCH
  • Exemple : 1.0.0, 2.3.45, 10.20.1234
  • Doit contenir exactement trois composants numériques séparés par des points

Intégration du pipeline

Exemple Azure DevOps

- 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'

Exemple d’actions GitHub

- 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

Éléments packagés

Les bundles de commande pack :

  • Tous les projets inclus dans la solution
  • Dépendances au niveau du projet
  • Métadonnées et configuration de la solution
  • Définitions de liaison pour les paramètres spécifiques à l'environnement

Le fichier .zip obtenu est autonome et prêt à être téléchargé sur Orchestrator.

Packaging après restauration

Pour de meilleurs résultats, exécutez restore avant pack pour vous assurer que toutes les dépendances sont résolues :

# 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

Emplacement de sortie du package

Le fichier .zip packagé est placé dans le répertoire spécifié par --output. Si le répertoire n'existe pas, il sera créé automatiquement.

Chemins de sortie typiques

Azure DevOps :

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

Actions GitHub :

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

Jenkins :

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

Prochaines étapes

Après le packaging, vous pouvez :

  1. Chargez le package dans Solutions Management.
  2. Stockez-le en tant qu'artefact de build sur votre plate-forme CI/CD.
  3. Version dans un référentiel d'artefacts.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour