cicd-integrations
2025.10
true
- 概述
- UiPath CLI
- Azure DevOps 扩展程序
- Jenkins 插件
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。
新发布内容的本地化可能需要 1-2 周的时间才能完成。

CI/CD 集成用户指南
上次更新日期 2025年11月12日
部署和激活解决方案
将解决方案包上传到 “解决方案”后,可以将其部署到目标文件夹并激活,使其可操作。
部署工作流
部署解决方案分为两步:
- 部署:创建部署配置,并将包与目标文件夹相关联。
- 激活: 使部署生效并可操作。
这种分离使您可以提前准备部署,并在维护窗口期间或手动批准后激活它们。
部署解决方案
deploy命令会在特定环境中创建解决方案包的部署。
命令语法
uipcli solution deploy <package-name> [options]uipcli solution deploy <package-name> [options]参数:
| 参数 | 描述 | 必填 |
|---|---|---|
<package-name> | 已上传包的名称 | 是 |
-v 或者 --version | 要部署的包版本 | 是 |
-d 或者 --deploymentName | 此部署的名称 | 是 |
-f 或者 --deploymentFolderName | Orchestrator 中的目标文件夹名称 | 是 |
-U | Orchestrator URL | 是 |
-T | 租户名称 | 是 |
-A | 组织名称 | 是 |
-I | 外部应用程序 ID | 是 |
-S | 外部应用程序密码 | 是 |
--applicationScope | 所需作用域 | 是 |
--deploymentParentFolder | 将在 Orchestrator 中部署解决方案的父文件夹名称(如果省略,解决方案将部署在“租户”下) | 否 |
--configPath | 解决方案配置文件的本地路径;用于覆盖绑定的场景需要 | 否 |
--traceLevel | 日志记录级别 | 否 |
身份验证
有关所需作用域和外部应用程序设置,请参阅身份验证和作用域。
示例
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 Informationuipcli 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部署命名约定
选择有意义的部署名称,其中包括:
- 解决方案名称
- 环境标识符
- 版本或日期
示例:
MySolution-Dev-v1.2.3MySolution-Test-2025-01-15MySolution-Prod-Release-1.2.3InvoiceProcessing-Production-v2.0.0MySolution-Dev-v1.2.3MySolution-Test-2025-01-15MySolution-Prod-Release-1.2.3InvoiceProcessing-Production-v2.0.0这可以更轻松地跟踪和管理跨环境的部署。
部署期间会发生的情况
运行部署命令时:
- 该包在解决方案中得到验证。
- 已创建部署配置。
- 部署已与目标文件夹相关联。
- 已初始化特定于环境的绑定。
- 部署已准备,但尚未激活。
在您激活解决方案后,该解决方案才会开始执行流程。
激活部署
deploy-activate命令使部署生效并可操作。
命令语法
uipcli solution deploy-activate <deployment-name> [options]uipcli solution deploy-activate <deployment-name> [options]参数:
| 参数 | 描述 | 必填 |
|---|---|---|
<deployment-name> | 要激活的部署的名称 | 是 |
-U | Orchestrator URL | 是 |
-T | 租户名称 | 是 |
-A | 组织名称 | 是 |
-I | 外部应用程序 ID | 是 |
-S | 外部应用程序密码 | 是 |
--applicationScope | 所需作用域 | 是 |
--traceLevel | 日志记录级别 | 否 |
身份验证
有关所需作用域和外部应用程序设置,请参阅身份验证和作用域。
示例
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 Informationuipcli 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激活期间会发生的情况
激活部署时:
- 该部署将成为目标文件夹中的活动版本。
- 触发器已激活。
- 同一文件夹中的任何先前处于活动状态的部署都将被停用。
CI/CD 管道集成
完成部署工作流
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"具有手动批准功能的门控部署
您可以单独执行部署和激活步骤来实施批准工作流:
# 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'多环境提升
按顺序将相同版本部署到多个环境:
# Deploy to Devuipcli 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 Testuipcli 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 Devuipcli 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 Testuipcli 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 ...回滚策略
要回滚到以前的版本:
- 使用新的部署名称部署先前版本。
- 激活以前版本的部署。
- (可选)卸载较新的部署。
# Roll back to v1.2.2uipcli 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.2uipcli 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 ...后续步骤
部署并激活解决方案后,您可以:
- 监控 Orchestrator 中的执行情况。
- 在不再需要时卸载部署。
- 按照相同的工作流部署新版本。