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 18 nov. 2025

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 (*) (Optional for external application authentication)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)
--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)
--authorThe package author.Non (No)
--traceLevelAfficher la trace des événements.Non (No)
Remarque :

When using external application authentication without specifying the --libraryOrchestratorApplicationScope parameter, the CLI automatically applies these default Orchestrator scopes:

Solutions.Packages Solutions.Deployments OR.Execution

Exemple

uipcli solution pack C:\Solutions\MySolution \  --output C:\Output \  --version 1.2.3 \  --traceLevel Verboseuipcli 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.zipC:\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 ExampleAuthoruipcli 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 dependenciesuipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Output\Dependencies \  --traceLevel Information# 2. Pack with explicit versionuipcli solution pack C:\Solutions\MySolution \  --output C:\Output \  --version 1.2.3 \  --traceLevel Verbose# 1. Restore dependenciesuipcli solution restore C:\Solutions\MySolution \  --restoreFolder C:\Output\Dependencies \  --traceLevel Information# 2. Pack with explicit versionuipcli 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 ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo
Confiance et sécurité
© 2005-2025 UiPath Tous droits réservés.