- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- 对启动错误进行故障排除
关于更新和迁移
概述
请记住,这些信息与您要升级到的目标版本有关,与升级前的版本无关。因此,在继续之前,请确保阅读正确的详细信息。
要查看是否可以将较旧版本的 Orchestrator 升级到较新版本,请查看我们的概述指南中的 Orchestrator 升级路径矩阵。
要查看最新的可用版本,请查看发行说明页面。
预安装清单
在继续进行Orchestrator升级/安装之前,请仔细查看以下任务列表:
| 描述 | 详细信息 |
|---|---|
|
✅ 查看系统要求 |
确保满足要安装版本的先决条件,硬件和软件要求。 |
|
✅ 了解新部署引入的更改 |
新的Orchestrator部署带来了您应该注意的更改。在升级/安装之前,必须注意某些事项。一些说明了最大的更改,并提供了有关如何最好地利用新版本的建议。 |
|
运行平台配置工具 |
平台配置工具是一个PowerShell脚本,用于帮助您成功安装/升级Orchestrator。它可以帮助您在升级之前检查环境的完整性和就绪性,并帮助您在安装后执行一些操作。 |
|
✅ 停止 Orchestrator |
Upgrades of your Orchestrator must be made with the application stopped. Performing any updates while the application is running can result in errors and is not supported. |
直接更新 Orchestrator
安装工件在您首次购买 Orchestrator 时提供,或者也可能由您的客户成功经理或我们的支持团队提供。有数种方法可以直接更新:
使用 Windows 安装程序
UiPathOrchestrator.msi 执行就地更新,该更新将复制所有设置并为旧版创建备份文件夹。它适用于单节点和多节点架构。如果升级前版本是使用弃用脚本安装,则系统不会复制部分 web.config 设置。不支持 Windows 安装程序的修复功能。
如果您想要更新的 Orchestrator 过去在安装时使用了现在已停用的 UiPathPlatformInstaller.exe,请使用 Windows 安装程序将其更新到该版本。
使用 Azure 脚本
在 Azure 门户中的一个或多个节点上对 Orchestrator 及其组件进行的复杂更新。
更新注意事项
加密方式
During an Orchestrator update, the installer cannot read an encrypted SecureAppSettings section within web.config . In order to read the EncryptionKey from Orchestrator's web.config and then migrate it into Identity Server's appsettings.Production.json, the key must be plain text. You need to manually decrypt the section before updating Orchestrator. After the Orchestrator update process was finalized, remember to re-encrypt the SecureAppSettings section in web.config.
证书
Note the new certificate requirements. If your existing certificate doesn't meet them, here is how to get a valid certificate and how to replace it in the existing Orchestrator instance, before upgrading.
For security reasons, for the certificate used to sign the access tokens generated by the Identity Server, make sure to use a public key on 2048 bits. The certificate's location has to be set within appsettings.Production.json's Signing Credential section.
数据库
无论选择哪种更新方式,如果指向的数据库都不存在,则系统会在运行更新时自动创建该数据库。如果指向现有数据库,则系统会在同一过程中对其进行更新。Orchestrator SQL 数据库在安装时会自动设置为不区分大小写(“OrchDB”=“orchdb”)。
外部提供程序
执行更新时,如果在 web.config 中启用了任何外部提供程序,系统会提示您需要在以前存在的外部提供程序上执行的手动更改。
用户
升级到最新的 Orchestrator 版本时,所有本地帐户都会自动从 Orchestrator 迁移到 Identity Server,并转换为所需格式。
此更改不会影响您的机器人。
如果您使用的是 2018.4 版本,并且未将 Active Directory 导入的用户帐户转换为目录帐户(或者没有转换所有导入的用户),则未转换的目录帐户必须以交互方式至少登录一次 Orchestrator 才能完成转换。登录身份管理门户或从 UiPath Studio 或 UiPath Assistant 登录并不能完成帐户的转换。
转换完成后,您将无法再使用基本身份验证凭据以相应用户的身份登录。
应用程序池身份
升级到最新版本的 Orchestrator 时,我们强烈建议对 Identity Server 和 Webhook 使用与原始安装过程中用于 Orchestrator 的应用程序池身份类型相同的身份类型。
例如,如果您在 Orchestrator v2020.10 安装期间将应用程序池身份类型设置为自定义帐户,则在升级到 v2021.10 时,请为 Identity Server 和 Webhooks 应用程序选择相同的应用程序池身份类型(即自定义帐户)。否则,对 SQL Server 的访问可能会被阻止。
Azure 密钥保管库
When you access an Azure Key Vault from a different cloud than the public one, you must set the environment variable AZURE_AUTHORITY_HOST to the corresponding value (i.e. "AZURE_AUTHORITY_HOST": "https://login.microsoftonline.us/"). For more details on the values, check the Microsoft Entra authentication & national clouds - Microsoft identity platform documentation.
已知问题
升级到 2023.10 或更高版本时出现数据库超时错误
从 2023.10 之前的版本升级到 2023.10 或更高版本时,Orchestrator 中的组数量超过 100,000 个可能会导致超时错误。
要解决此问题,请直接在数据库中运行以下脚本,然后重试升级:
-- 1. Delete group subscriptions
DECLARE @rowCount BIGINT = 1
DECLARE @batchSize BIGINT = 4000
DECLARE @pivotDate DATETIME = GETUTCDATE()
WHILE (@rowCount > 0)
BEGIN
DECLARE @subscriptionsToDeleteIds TABLE(
[Id] UNIQUEIDENTIFIER NOT NULL
)
INSERT INTO @subscriptionsToDeleteIds
SELECT TOP(@batchSize) [ns].[Id]
FROM [dbo].[NotificationSubscriptions] [ns]
JOIN [dbo].[Users] [u] ON [u].[Id] = [ns].[UserId]
WHERE [u].[Type] = 3 AND -- Group
[u].[CreationTime] <= @pivotDate AND
[u].[IsDeleted] = 0
DELETE FROM [dbo].[NotificationSubscriptions]
WHERE [Id] IN (
SELECT [Id] FROM @subscriptionsToDeleteIds
)
OPTION (MAXDOP 1)
SET @rowCount = @@ROWCOUNT
WAITFOR DELAY '00:00:00.1'
END
-- 2. Create index on UserNotifications
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UserNotifications]') AND NAME = N'IX_UserId_CreationTime')
CREATE NONCLUSTERED INDEX [IX_UserId_CreationTime] ON [dbo].[UserNotifications]
(
[UserId] ASC,
[CreationTime] ASC
) INCLUDE ([TenantNotificationId]) WITH (ONLINE = ON);
-- 1. Delete group subscriptions
DECLARE @rowCount BIGINT = 1
DECLARE @batchSize BIGINT = 4000
DECLARE @pivotDate DATETIME = GETUTCDATE()
WHILE (@rowCount > 0)
BEGIN
DECLARE @subscriptionsToDeleteIds TABLE(
[Id] UNIQUEIDENTIFIER NOT NULL
)
INSERT INTO @subscriptionsToDeleteIds
SELECT TOP(@batchSize) [ns].[Id]
FROM [dbo].[NotificationSubscriptions] [ns]
JOIN [dbo].[Users] [u] ON [u].[Id] = [ns].[UserId]
WHERE [u].[Type] = 3 AND -- Group
[u].[CreationTime] <= @pivotDate AND
[u].[IsDeleted] = 0
DELETE FROM [dbo].[NotificationSubscriptions]
WHERE [Id] IN (
SELECT [Id] FROM @subscriptionsToDeleteIds
)
OPTION (MAXDOP 1)
SET @rowCount = @@ROWCOUNT
WAITFOR DELAY '00:00:00.1'
END
-- 2. Create index on UserNotifications
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UserNotifications]') AND NAME = N'IX_UserId_CreationTime')
CREATE NONCLUSTERED INDEX [IX_UserId_CreationTime] ON [dbo].[UserNotifications]
(
[UserId] ASC,
[CreationTime] ASC
) INCLUDE ([TenantNotificationId]) WITH (ONLINE = ON);
杀毒软件问题
有些防病毒软件可能会阻止数据迁移脚本在升级期间正常运行。
登录尝试问题
将 2019.10 或更旧版本的 Orchestrator 更新后,“配置文件”页面将不会显示在该更新之前进行的登录尝试。
安装后更新许可证
升级或迁移 Orchestrator 后,建议您使用在线或离线激活从“许可证”页面更新许可证信息。有关说明,请参阅激活许可证。
如果要从早于 2019.10 的版本进行升级或迁移则必须更新许可证信息,否则您将无法使用许可证到期后的宽限期,这可能会导致服务中断。
包迁移
In v2020.10+, Legacy is no longer a supported NuGet repository type. Packages previously residing in a Legacy repository are migrated to a Composite repository. For composite repositories, package location is configured using the Storage.Type and Storage.Location parameters in UiPath.Orchestrator.dll.config. After the upgrade, all Legacy-related app settings become deprecated and no longer have an effect:
NuGet.Packages.PathNuGet.Activities.PathNuget.EnableRedisNodeCoordinationNuget.EnableNugetServerLoggingNuGet.EnableFileSystemMonitoringNuGet.Repository.Type
新包的位置取决于您使用先前的 Orchestrator 版本时在 web.config 中配置 NuGet.Packages.Path 和 NuGet.Activities.Path 参数的方式。
默认位置
如果您将包存储在默认位置(~/NuGetPackages 和 ~/NuGetPackages/Activities),则包的新位置将变为 RootPath=.\Storage。
| 2020.10 之前版本的密钥默认值 - web.config | 2020.10+ 密钥默认值 - UiPath.Orchestrator.dll.config |
|---|---|
<add key="NuGet.Packages.Path" value="~/NuGetPackages" /><add key="NuGet.Activities.Path" value="~/NuGetPackages/Activities" /> | <add key="Storage.Type" value="FileSystem" /><add key="Storage.Location" value="RootPath=.\Storage" /> |
自定义位置
如果您将包存储在自定义位置,则系统在安装过程中会要求您选择新的存储位置。静默安装必需使用 STORAGE_TYPE 和 STORAGE_LOCATION 参数,除非您在安装前已经专门将这些参数添加到 web.config (Storage.Type 和 Storage.Location) 中。
包迁移矩阵
下面的矩阵描述了在升级期间何时请求或忽略 STORAGE_TYPE 和 STORAGE_LOCATION 参数。该矩阵考虑了您要从中升级的版本,以及先前版本和 2020.10 及更高版本中的包位置自定义。
例如,根据此功能组合,矩阵显示在静默模式下请求从版本 2019.4+ 升级的两个参数(标有复选标记)如果包存储在自定义位置,但其新存储位置是默认位置。
| 升级前的版本 | 之前的旧位置 | 新的组合位置 | 在存储窗口中请求的参数 | 静默模式下请求的参数 | 从 CMD 忽略的参数 |
|---|---|---|---|---|---|
| 2019.4+ | 默认 | 默认 | ✅ | ||
| 2019.4+ | 默认 | 自定义 | ✅ | ||
| 2019.4+ | 自定义 | 默认 | ✅ | ✅ | |
| 2019.4+ | 自定义 | 自定义 | ✅ |
迁移错误
如果由于某种原因包迁移失败,系统将为您提供以下选项:
- 重试 - 包迁移重新启动。已迁移的包将跳过。
- 中止 - 重新启动安装。在迁移步骤中,已迁移的包不会跳过,而是会再次迁移。因此,您可能会在不同的容器中找到重复的文件。此情况只会在使用 2019.4 之前的版本迁移时才会发生。
- 继续 - 正在进行迁移。
从 2019.10 升级
作为从 2019.10 升级的一部分进行的迁移有时会导致包名称更改,从而在 Orchestrator 中不可用。 如果发生这种情况,我们建议您手动上传任何受影响的包。