cicd-integrations
2025.10
true
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

CI/CD 集成用户指南

上次更新日期 2025年11月12日

部署和激活解决方案

将解决方案包上传到 “解决方案”后,可以将其部署到目标文件夹并激活,使其可操作。

部署工作流

部署解决方案分为两步:

  1. 部署:创建部署配置,并将包与目标文件夹相关联。
  2. 激活: 使部署生效并可操作。

这种分离使您可以提前准备部署,并在维护窗口期间或手动批准后激活它们。

部署解决方案

deploy命令会在特定环境中创建解决方案包的部署。

命令语法

uipcli solution deploy <package-name> [options]uipcli solution deploy <package-name> [options]

参数:

参数描述必填
<package-name>已上传包的名称
-v 或者 --version要部署的包版本
-d 或者 --deploymentName此部署的名称
-f 或者 --deploymentFolderNameOrchestrator 中的目标文件夹名称
-UOrchestrator 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

这可以更轻松地跟踪和管理跨环境的部署。

部署期间会发生的情况

运行部署命令时:

  1. 该包在解决方案中得到验证。
  2. 已创建部署配置。
  3. 部署已与目标文件夹相关联。
  4. 已初始化特定于环境的绑定。
  5. 部署已准备,但尚未激活。

在您激活解决方案后,该解决方案才会开始执行流程。

激活部署

deploy-activate命令使部署生效并可操作。

命令语法

uipcli solution deploy-activate <deployment-name> [options]uipcli solution deploy-activate <deployment-name> [options]

参数:

参数描述必填
<deployment-name>要激活的部署的名称
-UOrchestrator 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

激活期间会发生的情况

激活部署时:

  1. 该部署将成为目标文件夹中的活动版本。
  2. 触发器已激活。
  3. 同一文件夹中的任何先前处于活动状态的部署都将被停用。

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

回滚策略

要回滚到以前的版本:

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

后续步骤

部署并激活解决方案后,您可以:

  1. 监控 Orchestrator 中的执行情况。
  2. 在不再需要时卸载部署
  3. 按照相同的工作流部署新版本。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo
信任与安全
© 2005-2025 UiPath。保留所有权利。