cicd-integrations
2025.10
true
CI/CD 集成用户指南
- 概述
- UiPath CLI
- Azure DevOps 扩展程序
- Jenkins 插件
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。
新发布内容的本地化可能需要 1-2 周的时间才能完成。
上传和删除解决方案包
将解决方案包上传到 Orchestrator 并在不再需要时删除包的步骤。
打包解决方案后,您可以将包上传到 Orchestrator 中的解决方案。您还可以在不再需要包时将其删除。
提示:
对于由私有证书颁发机构签名的 Orchestrator 实例(例如 UiPath Automation Suite), upload-package和delete-package也接受--ca-cert和--pinnedpubkey参数。有关场景和示例,请参阅信任自定义证书。
上传包
upload-package命令用于将解决方案.zip文件推送到解决方案。
命令语法
uipcli solution upload-package <package-path> [options]
uipcli solution upload-package <package-path> [options]
参数
身份验证
有关所需作用域和外部应用程序设置,请参阅身份验证和作用域。
示例
uipcli solution upload-package C:\Output\MySolution.1.2.3.zip \
-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 upload-package C:\Output\MySolution.1.2.3.zip \
-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 密码
切勿在脚本中对凭据进行硬编码。使用平台的密码管理:
Azure DevOps
- script: |
uipcli solution upload-package $(Build.ArtifactStagingDirectory)\MySolution.$(Build.BuildId).zip \
-U $(orchestratorUrl) \
-T $(orchestratorTenant) \
-A $(organizationName) \
-I $(externalAppId) \
-S $(externalAppSecret) \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
displayName: 'Upload Solution Package'
- script: |
uipcli solution upload-package $(Build.ArtifactStagingDirectory)\MySolution.$(Build.BuildId).zip \
-U $(orchestratorUrl) \
-T $(orchestratorTenant) \
-A $(organizationName) \
-I $(externalAppId) \
-S $(externalAppSecret) \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
displayName: 'Upload Solution Package'
GitHub 操作
- name: Upload Solution Package
run: |
uipcli solution upload-package ${{ runner.temp }}/packages/MySolution.${{ 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.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
- name: Upload Solution Package
run: |
uipcli solution upload-package ${{ runner.temp }}/packages/MySolution.${{ 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.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
--traceLevel Information
上传后会发生的情况
上传后,包会:
- 显示在 Orchestrator 的解决方案中。
- 可以部署到任何目标文件夹。
- 已进行版本控制和跟踪。
- 可以由其他管道或用户下载。
Deleting a package
delete-package命令可用于从解决方案中删除解决方案包。
命令语法
uipcli solution delete-package <package-name> [options]
uipcli solution delete-package <package-name> [options]
参数
备注:
在不指定--applicationScope参数的情况下使用外部应用程序身份验证时,CLI 会自动应用以下默认的 AutomationSolution 作用域:
Solutions.Packages Solutions.Deployments OR.Execution
身份验证
有关所需作用域和外部应用程序设置,请参阅身份验证和作用域。
示例
uipcli solution delete-package MySolution \
-v 1.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 delete-package MySolution \
-v 1.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
何时删除包
删除包的常见场景:
- 清理管道- 成功部署后删除旧版本。
- 失败的内部版本- 删除不应部署的无效包。
- “保留策略” - 强制执行包生命周期规则(例如,仅保留最近 10 个版本)。
- 存储管理- 释放解决方案中的空间。
管道示例 - 清理旧版本
# Delete old version after deploying new one
uipcli solution delete-package MySolution \
-v 1.2.2 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I $(externalAppId) \
-S $(externalAppSecret) \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
# Delete old version after deploying new one
uipcli solution delete-package MySolution \
-v 1.2.2 \
-U https://cloud.uipath.com/ \
-T DefaultTenant \
-A myorg \
-I $(externalAppId) \
-S $(externalAppSecret) \
--applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
包命名
上传和删除操作中使用的包名称来自解决方案名称,而不是文件名。
示例
- Pack 命令创建的内容:
MySolution.1.2.3.zip - 用于删除的包名称:
MySolution - 版本:
1.2.3
后续步骤
上传包后,您可以: