UiPath Documentation
cicd-integrations
2025.10
true
Guide de l'utilisateur des intégrations CI/CD
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.

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)
--nugetConfigFilePathChemin d'accès au fichier NuGet.Config utilisé lors de la restauration. À partir de la version 25.10.18, le fichier est respecté de bout en bout - <clear />, <packageSourceCredentials>, <packageSourceMapping> et <fallbackPackageFolders> tous prennent effet. Voir Gestion des flux NuGet. Sur les anciennes versions, seules les URL <packageSources> étaient appliquées.Non (No)
--disableBuiltInNugetFeedsDésactive les flux NuGet intégrés.Non (No)
--excludeConfiguredSourcesExclut les flux intégrés et les sources NuGet configurées au niveau de l'utilisateur et de la machine sur l'hôte exécutant la CLI. La CLI résout les packages uniquement à partir des flux définis dans --nugetConfigFilePath. Voir Gestion des flux NuGet.Non (No)
-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)
--libraryIdentityUrlL'URL de votre Identity Server. Requis lorsque la bibliothèque Orchestrator s'exécute sur UiPath Automation Suite ou sur la version autonome d'Orchestrator (MSI local). Non nécessaire pour Automation Cloud — la CLI résout le serveur d'identité à partir de l'URL du cloud.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)
--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)
--ca-certFichier(s) CA racine approuvé(s) (PEM, DER ou PKCS#7) pour le certificat TLS de bibliothèque Orchestrator/Identity. Répétez ou séparez par des virgules. Voir Approbation des certificats personnalisés.Non (No)
--pinnedpubkeyÉpingler la clé publique de la feuille (sha256//<base64>). Voir Approbation des certificats personnalisés.Non (No)
Astuce :

Pour les instances d’Orchestrator de bibliothèque signées par une autorité de certification privée (telle qu’UiPath Automation Suite), cette commande accepte également les paramètres --ca-cert et --pinnedpubkey . Voir Approbation de certificats personnalisés pour des scénarios et des exemples.

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