自动更新客户端组件
此功能允许管理员从 Orchestrator 将 Robot、Studio 和 UiPath™ Assistant 客户端更新到较新版本。这提供了一种从集中位置向大量计算机交付版本更新的简单方法,从而帮助消除用户的烦恼并简化更新过程。
- Orchestrator、Studio 和 Robot 2021.10 或更高版本。
- 客户端计算机上安装了 Studio 和/或 Robot 2021.10 或更高版本,并且已连接到 Orchestrator。
客户端
-
客户端应用程序:
- 机器人
- Assistant
- Studio
- 机器人服务
- 更新代理 - 一个 Windows 进程,负责用户和更新服务之间的通信。 (仅在用户模式和有人值守的机器人安装中存在)
- 更新服务 - 负责客户端计算机和更新服务器之间的通信的 Windows 服务。
服务器端
- Orchestrator:为管理员提供用户界面,以设置自动更新策略并查看客户端应用程序的版本状态。
- 更新服务器:一个集中式服务,用于管理自动更新策略并通过更新服务维护与客户端计算机的通信。
作为管理员,您可以选择要在特定计算机上部署的特定版本。
UiPath.UpdateService.Worker.exe
和 UiPath.UpdateService.Agent.exe
。
根据 Studio/Robot 安装的类型,它们的安装方式不同:
- Unattended Robot:
UiPath.UpdateService.Worker.exe
已安装为 Windows 服务,但未安装UiPath.UpdateService.Agent.exe
。 - Attended Robot:
UiPath.UpdateService.Worker.exe
已安装为 Windows 服务,而UiPath.UpdateService.Agent.exe
在任务计划程序中作为登录任务安装。 - 快速安装(用户模式):
UiPath.UpdateService.Worker.exe
和UiPath.UpdateService.Agent.exe
在任务计划程序中作为登录任务安装。重要提示:在计算机上以 Attended User 模式安装 UiPath Studio 和机器人时,为了使更新服务连接到更新服务器,请确保在设置过程中添加 Orchestrator URL。如果在安装期间未添加 Orchestrator URL,则在计算机上具有管理员权限的用户必须登录到计算机并将机器人连接到 Orchestrator。
定义新策略或更改策略后,更新服务器会向客户端计算机上的更新服务发送一个命令,该命令会询问客户端应用程序是否准备好开始更新过程。
要准备好接收更新,产品必须处于中性状态:
- Studio - 无正在运行的流程或活动会话。
- Robot - 无正在运行的作业或流程。
- Assistant - 无正在运行的流程或待处理活动(正在安装或下载流程)。
注意:在更新过程中,在更新完成之前,机器人不会启动任何作业。
在有人值守场景中,系统会显示更新提示,为用户提供两个选项:
Update Now
- 停止所有正在运行的作业并关闭该计算机上的所有 Studio 实例,然后继续更新。-
Later
- 使通知静音,可以通过转到系统托盘中的用户界面图标并单击“检查更新”来继续更新过程。当用户接受提示时,系统会将确认消息发送到更新服务,并启动更新流程。 如果自首次通知后 24 小时内未提供响应,则系统将自动安装更新。
在无人值守场景中,更新服务会确认客户端应用程序是否处于中性状态(如上所述),然后再将确认发送回更新服务器。
- 如果计算机上正在运行任何流程,则系统会提示机器人用户停止该流程或等待该流程完成,然后再继续更新。如果 Studio 会话已打开,则系统会要求机器人用户保存进度。
- 如果机器人用户无响应,则 Studio 将关闭,并在此时按原样保存流程。该流程可以在更新完成后恢复。
- 如果达到一定的时间限制,即使作业仍在运行,服务模式机器人也会强制执行更新。由于此行为,作业可能会失败。默认等待时间为:
- 服务模式机器人需要 10 分钟。
- 用户模式机器人需要 1440 分钟。
更新过程步骤
更新过程分为七个阶段:
重试机制
在更新过程中,如果在首次下载中无法检索到文件,则更新服务将再重试三次。重试间隔为:首次尝试后一小时,然后在第一次重试后两个小时,以及最后一次重试后四个小时。在每次重试之前,都会通过通知系统通知用户。
%localappdata%/Uipath/UpdateService/logs
文件中。
该过程与安装类似,这意味着如果第一次安装失败,更新服务将以相同的频率(首次尝试后一小时,第一次重试后两小时,以及最后一次重试后四个小时)再尝试三次。
自启动后,更新服务器会等待 72 小时让更新完成。如果在此间隔后仍未安装新版本,则系统会将详细错误添加到日志中。下次收到请求时,将重试更新。
您也可以使用 按钮手动重试更新(如果自动更新失败)。
可以为用户、用户组(推荐用于有人值守用例)或计算机(推荐用于无人值守用例)设置策略。
通过为用户或用户组配置更新策略,管理员可以控制特定用户或用户组的 Studio、Robot 和 Assistant 版本。
- 特定用户 - 精细更新与特定用户相关联的组件。
-
用户组 - 更新所有组成员的访问权限,而无需单独设置每个用户的访问权限级别。
重要提示:对于已分配 Automation Express 许可证的用户,无法编辑更新策略,并且设置为提供最新的企业版本。
通过在 Orchestrator 的“管理访问权限”选项卡中编辑特定用户或组来配置策略。
- 导航到“租户”>“管理访问权限”。系统将显示“用户”窗口。
- 对于所需的用户/用户组,单击“编辑”。系统将显示“编辑用户”窗口。
- 在“ 更新策略设置 ”部分中,将自动更新策略更改为以下 值之一:
按用户
按组
None
,但用户所属的组也设置了特定策略(例如最新补丁),则应用组策略。如果不希望更新该特定用户的组件,则必须从具有该策略的组中删除该用户,或者将更新策略设置为已安装的当前版本。
如果用户设置了推送特定版本的策略,并且他们也属于具有不同策略的组,则以用户级别策略为准。
通过为计算机对象配置更新策略,管理员可以使用特定的计算机密钥更新连接到 Orchestrator 的所有计算机上的机器人版本。
要为计算机对象配置更新策略,请按照以下步骤操作:
Features.MachineMaintenanceSchedule.Enabled
参数添加到 UiPath.Orchestrator.dll.config
文件并将其设置为 true
。
自动更新计划
在“维护”选项卡中,您还可以安排更新在特定时间和日期开始,以配合公司的其他维护窗口。您还可以设置维护窗口的持续时间。如果为维护窗口设置的时间已过,但更新未开始,则会在下一个可用的时间间隔内安排更新。
如果用户级别策略、组级别策略和计算机级别策略同时应用于同一个机器人,则以用户级别策略为准。
示例:
- 计算机 1 已安装 Robot 和 Studio 版本 2021.10。
- 在计算机 1 上,机器人以 John.Doe@domain.com 用户身份通过交互式登录连接到 Orchestrator。
- 更新策略将应用于 john.doe@domain.com,该策略设置为推送版本 2021.10.2。
- john.doe@domain.com 也属于组 1。
- 更新策略适用于设置为推送 2021.10.3 版本的 group_1。
-
更新策略将应用于计算机 1,该策略设置为推送版本 2022.4。
结果:触发更新策略时,该计算机上的组件将更新到版本 2021.10.2。
注意:使用机器人帐户时,系统将使用计算机级别策略来处理更新。
策略中的版本可用性
创建更新策略时,可以选择以下选项之一:
最新主要版本 |
最新补丁 |
特定补丁 |
---|---|---|
安装在更新服务器上找到的最新可用版本。 |
安装适用于每个受支持版本的最新补丁。(例如,最新的 2021.10 补丁、最新的 2022.4 补丁)。 |
安装更新服务器提供的补丁列表中的特定补丁。 |
%localappdata%/Uipath/UpdateService/logs
文件中找到更新的完整日志。
在克隆计算机的虚拟环境中部署机器人时,计算机名称、GUID、驱动器 ID 和 MAC 地址相同。这可能会导致冲突,因为 Orchestrator 会从多台具有相同标识符的计算机接收不同的更新状态。
在这种情况下,系统会根据连接的最后一台计算机显示 Orchestrator 中的更新状态。
这也可能会影响 Orchestrator 日志,因为多台计算机具有相同的标识符,因此可能会出现重复的日志。
在“版本状态”列中,您可以根据关联的策略检查计算机的 Robot 版本状态。
提供以下值:
- “无策略”- 未定义策略
- “正在进行更新”- 计算机上正在进行更新过程时,将显示此状态
- 合规 – 计算机上的机器人版本与更新策略匹配。
- “不合规”- 计算机上的 Robot 版本不同于策略中设置的版本。(例如,Robot 版本为 2021.10.3,而策略设置为 2021.10.1)
- “更新失败”- 更新过程失败时,将显示此状态。有关更多详细信息,请参阅更新日志。
- 不适用 - 当启用了排除不活动计算机的设置并且有一段时间未连接机器人时,或者当计算机类型与自动更新流程不兼容时,会显示此状态。
在 Orchestrator“计算机”选项卡上的“版本状态”列中,您可以根据关联的策略检查计算机的 Robot 版本状态。
排除非活动的计算机
Non compliant
。这是因为计算机模板使用同一个计算机密钥与更新服务器通信,如果连接的一台计算机无法接收更新,则计算机模板的整体状态会受到影响。
为避免这种情况,请在租户上下文中访问“设置”菜单的“常规”部分,选中“客户端二进制文件”复选框并设置首选的非活动间隔。这会将非活动的计算机排除在更新过程之外,并且在报告更新状态时不再考虑它们。
如果您的 Orchestrator 实例可以访问互联网,则默认情况下,版本管理由 UiPath 完成,并且策略中的可用版本列表将自动填充。如果要手动管理版本,请在主机级别转到“设置”,选择“常规”,然后清除“自动填充可用产品版本”复选框。
如果您选择不让 UiPath 完成版本管理,或者您的 Orchestrator 实例无法访问互联网,则必须从 UiPath Customer Portal - 产品下载页面 手动下载客户端组件的安装程序,并使用步骤如下:
获取可用版本
.\Product-Versions.ps1 get -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>"
.\Product-Versions.ps1 get -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>"
在更新服务器中发布新版本
.\Product-Versions.ps1 register -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "<NEW_VERSION>" -DownloadUri "<DOWNLOAD_URL>".\Product-Versions.ps1 register -ApiBaseUri "https://intranet/orchestrator_" -IdentityUri "https://intranet/identity_" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "22.4.3" -DownloadUri "https://download.uipath.com/versions/22.10.3/UiPathStudio.msi"
.\Product-Versions.ps1 register -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "<NEW_VERSION>" -DownloadUri "<DOWNLOAD_URL>".\Product-Versions.ps1 register -ApiBaseUri "https://intranet/orchestrator_" -IdentityUri "https://intranet/identity_" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "22.4.3" -DownloadUri "https://download.uipath.com/versions/22.10.3/UiPathStudio.msi"
从更新服务器中删除特定版本
DELETE
.\Product-Versions.ps1 delete -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "<NEW_VERSION>"
DELETE
.\Product-Versions.ps1 delete -ApiBaseUri "<ORCHESTRATOR_URL>" -IdentityUri "<IDENTITY_URL>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>" -ProductId "b69fdacf-6dd0-46fb-88c7-af2d87caf5aa" -Version "<NEW_VERSION>"
在客户端计算机上发布新版本
.\Provision-IdentityClient.ps1 -IdentityUri "<IDENTITY_URL>" -InstallationToken "<INSTALLATION_TOKEN>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>"
.\Provision-IdentityClient.ps1 -IdentityUri "<IDENTITY_URL>" -InstallationToken "<INSTALLATION_TOKEN>" -ClientId "<CLIENT_ID>" -ClientSecret "<CLIENT_SECRET>"
根据要求,可以在脚本中使用以下产品 ID:
产品 ID | 产品 |
---|---|
FD97813F-44F7-45A0-BB55-0DAF0088F568 | 适用于 Mac (x64) 的 UiPath Assistant |
46C978F2-A5FE-4F71-AD88-D6A07118F790 | 适用于 Mac (arm64) 的 UiPath Assistant |
B69FDACF-6DD0-46FB-88C7-AF2D87CAF5AA | UiPath Automation 捆绑包 (UiPathStudio.msi) |
对于机器人位于代理后面的场景,要使自动更新功能正常工作,可能需要进行其他配置。 根据安装类型,代理配置可以从用户级代理设置继承,也可以通过 编辑配置文件手动设置。
安装类型 |
机器人部署 |
更新服务 |
更新代理 |
代理设置 |
---|---|---|---|---|
无人值守的机器人 |
Windows 服务 |
Windows 服务 |
不适用
1 |
来自
uipath.config 文件。
|
有人值守的机器人 |
用户级可执行文件 |
Windows 服务 |
用户级可执行文件 |
来自
uipath.config 文件。
|
快速安装 |
用户级可执行文件 |
用户级可执行文件 |
用户级可执行文件 |
从用户级别代理设置。 |
1
当机器人以无人值守模式安装时,更新代理不会添加到计算机中。