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

CI/CD 集成用户指南
上次更新日期 2025年12月10日
为项目包签名
UiPath CLI 25.10 引入了在打包操作期间对自动化项目包进行数字签名的功能。包签名可提供真实性验证,并确保包在创建后未遭篡改,从而增强 CI/CD 管道的安全性。
对项目包进行签名时,CLI:
- 创建
.nupkg包文件 - 使用您的证书应用数字签名
- (可选)为签名添加时间戳,以实现长期有效性
支持的证书类型
CLI 支持 PKCS#12 (.pfx) 证书格式。
重要提示:
证书必须满足以下条件:
- 包括用于签名的私钥
- 有效(未过期)
- 具有代码签名功能
参数
package pack命令支持以下签名参数:
| 参数 | 描述 | 必填 |
|---|---|---|
--certificatePath | 证书文件 (.pfx) 的路径 | 是(如果签名) |
--certificatePassword | 证书文件的密码 | 否 |
--timestampServerUrl | RFC 3161 时间戳服务器的 URL | 否 |
用法示例
使用证书进行基本签名
# Windows
uipcli package pack "C:\Projects\MyRobot\project.json" `
-o "C:\Packages" `
--certificatePath "C:\Certificates\codesign.pfx" `
--certificatePassword "YourPassword123"
# Linux/macOS
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123"
# Windows
uipcli package pack "C:\Projects\MyRobot\project.json" `
-o "C:\Packages" `
--certificatePath "C:\Certificates\codesign.pfx" `
--certificatePassword "YourPassword123"
# Linux/macOS
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123"
使用时间戳服务器签名
添加时间戳可确保签名即使在证书过期后也有效。
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
使用版本和输出类型签名
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
-v "1.0.5" \
--outputType "Process" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
-v "1.0.5" \
--outputType "Process" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
使用无密码证书签名
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx"
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--certificatePath "./certificates/codesign.pfx"
使用 Orchestrator 库依赖项进行签名
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--libraryOrchestratorUrl "https://cloud.uipath.com/" \
--libraryOrchestratorTenant "Default" \
-A "myorg" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S "********" \
--libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
uipcli package pack "./MyRobot/project.json" \
-o "./packages" \
--libraryOrchestratorUrl "https://cloud.uipath.com/" \
--libraryOrchestratorTenant "Default" \
-A "myorg" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S "********" \
--libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
--certificatePath "./certificates/codesign.pfx" \
--certificatePassword "YourPassword123" \
--timestampServerUrl "http://timestamp.digicert.com"
推荐的时间戳服务器
建议使用时间戳服务器,以确保签名在证书过期后仍然有效:
http://timestamp.digicert.com- DigiCerthttp://timestamp.comodoca.com- Sectego (Comodo)http://timestamp.globalsign.com- 全局标志http://timestamp.sectigo.com- Sectgo
最佳实践
安全的证书存储
- 从不将证书提交版本控制
- 使用安全存储解决方案:
- Azure 密钥保管库
- AWS Secrets Manager
- HashiCorp 保险库
- GitHub 密码 / Azure DevOps 安全文件
- CI/CD 平台密码管理
环境变量
- 使用环境变量或密码管理密码
- 避免在脚本中对敏感信息进行硬编码
时间戳使用情况
- 在生产环境中始终使用时间戳服务器
- 时间戳可确保签名在证书过期后仍然有效
证书管理
- 使用专用代码签名证书
- 在证书到期前轮换证书
- 安全地维护证书备份