- Vue d'ensemble (Overview)
- Interface de ligne de commande UiPath
- À propos de la CLI UiPath
- Téléchargement de la CLI UiPath
- Matrice de compatibilité
- Exécution de la CLI UiPath
- Gestion des flux NuGet
- Approbation des certificats personnalisés
- Assistance de Test Manager
- Compression de projets dans un package
- Signature des paquets du projet
- Analyser un projet
- Déploiement d'un package sur Orchestrator
- Exécuter une tâche dans Orchestrator
- Tester un package ou exécuter un ensemble de test
- Tester plusieurs packages
- Format JSON des paramètres d'entrée
- Déploiement des ressources sur Orchestrator
- Suppression de ressources d'Orchestrator
- Exécution de tâches à l'aide de la configuration JSON
- Restauration des dépendances de l'automatisation
- Vue d'ensemble (Overview)
- Restauration et analyse des solutions
- Compression d’une solution
- Signature des packages de solutions
- Charger et supprimer des packages de solutions
- Téléchargement des packages et des configurations de solutions
- Déployer et activer des solutions
- Désinstallation des déploiements
- Authentification et étendues
- Résolution des problèmes d'interface en ligne de commande UiPath
- Extension Azure DevOps
- À propos de l’extension Azure DevOps
- Configuration de la connexion au service Azure DevOps
- Ajouter des tâches UiPath à un pipeline Azure DevOps
- Plate-forme d'installation UiPath
- Pack de solutions UiPath
- Charger le package de solution UiPath
- Déploiement de la solution UiPath
- Activation de la solution UiPath
- Supprimer le package de solution UiPath
- Configuration du téléchargement de la solution UiPath
- Package de téléchargement de la solution UiPath
- Déploiement de la désinstallation de la solution UiPath
- Résolution des problèmes rencontrés avec l’extension Azure DevOps
- Plugin Jenkins
- À propos du plug-in Jenkins
- Installation du plugin Jenkins
- Configuration de la connexion au service pour les applications externes
- Plate-forme d'installation UiPath
- Pack de solutions UiPath
- Charger le package de solution UiPath
- Déploiement de la solution UiPath
- Déploiement d’activation de la solution UiPath
- Supprimer le package de solution UiPath
- Configuration du téléchargement de la solution UiPath
- Package de téléchargement de la solution UiPath
- Déploiement de la désinstallation de la solution UiPath
- Résolution des problèmes du plug-in Jenkins
Déployer un package de solution dans un dossier cible et l'activer dans Orchestrator.
Après avoir importé un package de solution dans Solutions, vous pouvez le déployer dans un dossier cible et l'activer pour le rendre opérationnel.
Pour les instances Orchestrator signées par une autorité de certification privée (telle qu'UiPath Automation Suite), les paramètres deploy et deploy-activate acceptent également les paramètres --ca-cert et --pinnedpubkey . Voir Approbation de certificats personnalisés pour des scénarios et des exemples.
Workflow de déploiement
Le déploiement d’une solution est un processus en deux étapes :
- Déployer : créez une configuration de déploiement et associez le package à un dossier cible.
- Activer : rendre le déploiement en direct et opérationnel.
Cette séparation vous permet de préparer les déploiements à l'avance et de les activer pendant les périodes de maintenance ou après une approbation manuelle.
Déploiement d'une solution
La commande deploy crée un déploiement d’un package de solution dans un environnement spécifique.
Syntaxe de commande
uipcli solution deploy <package-name> [options]
uipcli solution deploy <package-name> [options]
Paramètres
| Paramètre | Description | Requis |
|---|---|---|
<package-name> | Nom du package téléchargé | Oui (Yes) |
-v ou --version | Version du package à déployer | Oui (Yes) |
-d ou --deploymentName | Nom de ce déploiement | Oui (Yes) |
-f ou --deploymentFolderName | Nom du dossier cible dans Orchestrator | Oui (Yes) |
-U | URL d'Orchestrator | Oui (Yes) |
-T | Nom de locataire | Oui (Yes) |
-A | Nom de l'organisation | Oui (Yes) |
-I | ID d’application externe | Oui (Yes) |
-S | Clé secrète d’application externe | Oui (Yes) |
--applicationScope | Étendues facultatives (valeurs appliquées par défaut) | Non (No) |
--deploymentParentFolder | Le dossier Orchestrator dans lequel le dossier de déploiement sera créé. S'il n'est pas spécifié, le dossier de déploiement sera créé dans le dossier du locataire. Lorsqu'il est spécifié, le déploiement se fera sous le dossier respectif. Lorsqu'il est défini sur «exampleuser@org.com » l’espace de travail), le déploiement sera sous l’espace de travail personnel de l’utilisateur spécifié. | Non (No) |
--configPath | Chemin d'accès local au fichier de configuration de la solution ; nécessaire dans les scénarios avec des liaisons de remplacement. Voir Téléchargement des packages de solutions et des configurations pour plus de détails sur l'obtention des fichiers de configuration. | Non (No) |
--traceLevel | Niveau de journalisation | Non (No) |
--ca-cert | Fichier(s) CA racine approuvé(s) (PEM, DER ou PKCS#7) pour le certificat TLS 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) |
Étendues d'application par défaut pour les solutions
Lorsque vous utilisez l'authentification d'application externe sans spécifier le paramètre --applicationScope , la CLI applique automatiquement ces étendues de solution par défaut :
Solutions.Packages Solutions.Deployments OR.Execution
Important : les trois étendues sont requises pour toutes les commandes CLI liées à la solution. Ces étendues sont regroupées pour fournir une couverture complète de toutes les commandes de solution disponibles et doivent être configurées collectivement plutôt qu'individuellement par commande.
Si un déploiement portant le même nom existe déjà à n'importe quel niveau au sein du locataire dans Orchestrator, cette opération met à niveau le déploiement existant au lieu d'en créer un nouveau. Si le déploiement existant est à l'état Échec, la mise à niveau ne se poursuit pas ; résolvez ou désinstallez le déploiement ayant échoué avant de réessayer.
Les solutions déployées au niveau du locataire n’affectent pas automatiquement un utilisateur au dossier résultant. Pour attribuer un compte, assurez-vous que la configuration appropriée est définie dans Orchestrator (Locataire > Dossiers).
Authentification
Consultez Authentification et étendues pour les étendues requises et Configuration d'applications externes.
Exemple
uipcli solution deploy MySolution \
-v 1.2.3 \
-d MySolution-Prod-v1.2.3 \
-f Production \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
uipcli solution deploy MySolution \
-v 1.2.3 \
-d MySolution-Prod-v1.2.3 \
-f Production \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
Conventions d'affectation de noms du déploiement
Choisissez des noms de déploiement significatifs qui incluent :
- Nom de la solution
- Identificateur d'environnement
- Version ou date
Exemples
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0
Cela facilite le suivi et la gestion des déploiements dans tous les environnements.
Que se passe-t-il pendant le déploiement
Lorsque vous exécutez la commande de déploiement :
- Le package est validé dans Solutions.
- Une configuration de déploiement est créée.
- Le déploiement est associé au dossier cible.
- Les liaisons spécifiques à l'environnement sont initialisées.
- Le déploiement est préparé, mais pas encore actif.
La solution ne commence pas à exécuter les processus tant que vous ne l’activez pas.
Réutiliser les ressources existantes
Par défaut, le déploiement d'une solution enregistre chaque ressource dans le dossier cible. Lorsque l'environnement cible contient déjà une ressource que vous souhaitez réutiliser, telle qu'une connexion partagée à un système externe, liez la ressource de la solution à celle existante via le fichier de configuration du déploiement, puis déployez-le avec --configPath.
Cela équivaut à choisir Personnaliser et à lier une ressource par la main lorsque vous déployez une solution manuellement dans Orchestrator.
La liaison d'une ressource qui réside dans un dossier Orchestrator nécessite les étendues OR.Folders et RCS.FolderAuthorization, et l'application externe doit être affectée au dossier qui contient la ressource existante.
Étapes
-
Téléchargez la configuration de déploiement du package. Voir Téléchargement des packages et des configurations de solutions.
uipcli solution download-config MySolution \ -d C:\Configs \ -v 1.0.0 \ --format json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"uipcli solution download-config MySolution \ -d C:\Configs \ -v 1.0.0 \ --format json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization" -
Ouvrez le fichier de configuration téléchargé.
-
Localisez l'entrée de la ressource que vous souhaitez réutiliser.
-
Ajoutez un bloc
linkToResourcequi pointe l'entrée vers la ressource Orchestrator existante par nom et par dossier. Pour une ressource de connexion, l'entrée ressemble à ce qui suit:{ "kind": "connection", "name": "Slack connection", "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7", "folderPaths": [ "solution_folder" ], "configuration": { "description": null, "authenticationType": "AuthenticateAfterDeployment", "connectorVersion": "2.14.7", "connectorKey": "uipath-salesforce-slack", "pollingInterval": 5 }, "linkToResource": { "name": "Existing Slack connection", "folderPath": "Shared" } }{ "kind": "connection", "name": "Slack connection", "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7", "folderPaths": [ "solution_folder" ], "configuration": { "description": null, "authenticationType": "AuthenticateAfterDeployment", "connectorVersion": "2.14.7", "connectorKey": "uipath-salesforce-slack", "pollingInterval": 5 }, "linkToResource": { "name": "Existing Slack connection", "folderPath": "Shared" } }L'objet
linkToResourcepointe la ressource de la solution sur la ressource existante; les champs sousconfigurationvarient par type de ressource. -
Déployez la solution en transmettant la configuration modifiée avec
--configPath.uipcli solution deploy MySolution \ -v 1.0.0 \ -d MySolution-Prod-v1.0.0 \ -f Production \ --deploymentParentFolder "Shared" \ --configPath C:\Configs\MySolution.1.0.0.json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"uipcli solution deploy MySolution \ -v 1.0.0 \ -d MySolution-Prod-v1.0.0 \ -f Production \ --deploymentParentFolder "Shared" \ --configPath C:\Configs\MySolution.1.0.0.json \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
Le déploiement réutilise la ressource liée au lieu d’en créer une nouvelle dans le dossier cible.
Authentification de la connexion
Pour les ressources de connexion, la liaison d'une connexion existante est une option parmi plusieurs. Le champ authenticationType du fichier de configuration accepte deux valeurs: ConfigurableByUsers et AuthenticateAfterDeployment.
Définissez authenticationType sur ConfigurableByUsers pour laisser la connexion non liée et différer sa sélection au moment de l'exécution. Les utilisateurs sélectionnent et authentifient la connexion lorsque l'automatisation s'exécute, ce qui constitue également une configuration valide pour l'activation.
Avec AuthenticateAfterDeployment, la connexion doit être authentifiée une fois le déploiement terminé. Si elle n'est pas authentifiée par le temps d'exécution de l'activation, l'activation est signalée comme ayant échoué.
Activer un déploiement
La commande deploy-activate rend un déploiement actif et opérationnel.
Syntaxe de commande
uipcli solution deploy-activate <deployment-name> [options]
uipcli solution deploy-activate <deployment-name> [options]
Paramètres
| Paramètre | Description | Requis |
|---|---|---|
<deployment-name> | Nom du déploiement à activer | Oui (Yes) |
-U | URL d'Orchestrator | Oui (Yes) |
-T | Nom de locataire | Oui (Yes) |
-A | Nom de l'organisation | Oui (Yes) |
-I | ID d’application externe | Oui (Yes) |
-S | Clé secrète d’application externe | Oui (Yes) |
--applicationScope | Étendues requises | Oui (Yes) |
--traceLevel | Niveau de journalisation | Non (No) |
--ca-cert | Fichier(s) CA racine approuvé(s) (PEM, DER ou PKCS#7) pour le certificat TLS 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) |
Authentification
Consultez Authentification et étendues pour les étendues requises et Configuration d'applications externes.
Exemple
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-S **** \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
Que se passe-t-il pendant l’activation
Lorsque vous activez un déploiement :
- Le déploiement devient la version active dans le dossier cible.
- Les déclencheurs sont activés.
- Tout déploiement auparavant actif dans le même dossier est désactivé.
Intégration du pipeline CI/CD
Terminer le workflow de déploiement
steps:
# 1. Pack the Solution
- name: Pack Solution
run: |
uipcli solution pack ./MySolution \
--output ./packages \
--version "1.0.${{ github.run_number }}"
# 2. Upload to Solutions Management
- name: Upload Package
run: |
uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
# 3. Deploy to target environment
- name: Deploy Solution
run: |
uipcli solution deploy MySolution \
-v "1.0.${{ github.run_number }}" \
-d "MySolution-Prod-v1.0.${{ github.run_number }}" \
-f Production \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
# 4. Activate the deployment
- name: Activate Deployment
run: |
uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
steps:
# 1. Pack the Solution
- name: Pack Solution
run: |
uipcli solution pack ./MySolution \
--output ./packages \
--version "1.0.${{ github.run_number }}"
# 2. Upload to Solutions Management
- name: Upload Package
run: |
uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"
# 3. Deploy to target environment
- name: Deploy Solution
run: |
uipcli solution deploy MySolution \
-v "1.0.${{ github.run_number }}" \
-d "MySolution-Prod-v1.0.${{ github.run_number }}" \
-f Production \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
# 4. Activate the deployment
- name: Activate Deployment
run: |
uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
-U ${{ secrets.ORCHESTRATOR_URL }} \
-T ${{ secrets.ORCHESTRATOR_TENANT }} \
-A ${{ secrets.ORG_NAME }} \
-I ${{ secrets.EXTERNAL_APP_ID }} \
-S ${{ secrets.EXTERNAL_APP_SECRET }} \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
Déploiements limités avec approbation manuelle
Vous pouvez séparer les étapes de déploiement et d'activation pour implémenter les workflows d'approbation :
# Stage 1: Deploy (automated)
- stage: DeployToProduction
jobs:
- job: Deploy
steps:
- script: |
uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
displayName: 'Prepare Production Deployment'
# Stage 2: Activate (requires approval)
- stage: ActivateProduction
dependsOn: DeployToProduction
# Manual approval gate configured in Azure DevOps
jobs:
- deployment: Activate
environment: 'Production'
steps:
- script: |
uipcli solution deploy-activate MySolution-Prod-$(version) ...
displayName: 'Activate Production Deployment'
# Stage 1: Deploy (automated)
- stage: DeployToProduction
jobs:
- job: Deploy
steps:
- script: |
uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
displayName: 'Prepare Production Deployment'
# Stage 2: Activate (requires approval)
- stage: ActivateProduction
dependsOn: DeployToProduction
# Manual approval gate configured in Azure DevOps
jobs:
- deployment: Activate
environment: 'Production'
steps:
- script: |
uipcli solution deploy-activate MySolution-Prod-$(version) ...
displayName: 'Activate Production Deployment'
Offre multi-environnements
Déployez la même version sur plusieurs environnements de façon séquentielle :
# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...
# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...
# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...
# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...
# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...
# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...
Stratégie de restauration
Pour revenir à une version précédente :
- Déployez la version précédente avec un nouveau nom de déploiement.
- Activez le déploiement de la version précédente.
- Vous pouvez éventuellement désinstaller le nouveau déploiement.
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...
Prochaines étapes
Après avoir déployé et activé des solutions, vous pouvez :
- Surveillez l'exécution dans Orchestrator.
- Désinstallez les déploiements lorsqu’il n’est plus nécessaire.
- Déployez de nouvelles versions en suivant le même workflow.
- Workflow de déploiement
- Déploiement d'une solution
- Syntaxe de commande
- Authentification
- Exemple
- Conventions d'affectation de noms du déploiement
- Que se passe-t-il pendant le déploiement
- Réutiliser les ressources existantes
- Étapes
- Authentification de la connexion
- Activer un déploiement
- Syntaxe de commande
- Authentification
- Exemple
- Que se passe-t-il pendant l’activation
- Intégration du pipeline CI/CD
- Terminer le workflow de déploiement
- Déploiements limités avec approbation manuelle
- Offre multi-environnements
- Stratégie de restauration
- Prochaines étapes