- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- High Availability Add-On
- 对启动错误进行故障排除
安装注意事项
本文将确定您应该了解的受新 Orchestrator 部署影响的主要领域。在升级/安装之前,请务必查看本文提出的一些注意事项。如果您选择使用新部署,则安装程序或平台配置工具将会验证其中一些事项。我们强烈建议您在升级前下载并使用平台配置工具来验证您的升级环境。
TargetFramework
从先前的 .NET Framework 4.7.2 升级到受支持的目标框架。凭据存储和 NLog 扩展的目标框架都由 UiPathOrchestrator.msi
安装程序进行检查。
此限制也适用于插件或 NLog 扩展程序可能具有的所有引用。
支持的目标框架 | 支持的版本 |
---|---|
.NET 标准 |
1.0 - 1.6 |
.NET 标准 |
2.0(推荐) |
.NET |
8.0 |
您可能需要重新编译内部开发的所有凭据存储插件和 NLog 扩展。
.dll
文件,并将其复制到 Orchestrator 目录中。大多数 NLog 目标都支持指定的目标框架。但是,您必须确保正确复制 .dll
。例如,如果您使用 NLog.Targets.Splunk,则需要下载 .nupkg
文件,将其作为 .zip
打开,导航到文件夹 lib\) etstandard2.0
并使用其中的 .dll
文件。
CLIPasswordSDK64.exe
工具。
CLIPasswordSDK64.exe
,即 C:\Program Files(x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe。如果 CyberArk AIM 未安装在默认路径上,则必须在 UiPath.Orchestrator.dll.config 中添加配置条目,并指向实际路径。路径可以在安装前的 web.config
的 appSettings
部分,或在安装后的 UiPath.Orchestrator.dll.config
中指定。
示例:
<add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe" />
<add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe" />
在 .NET Core 中,有两种用于指定代理的机制:
使用环境变量
web.config
中设置环境变量:<environmentVariable name="[insert_variable_here]" value="[insert_address_here]" />
,例如 <environmentVariable name="HTTP_PROXY" value="http://127.0.0.1:8080" />
。
变量 | 描述 |
---|---|
HTTP_PROXY | 在 HTTP 请求中使用的代理服务器。 |
HTTPS_PROXY | 在 HTTP 请求中使用的代理服务器。 |
ALL_PROXY | 在未定义 HTTP_PROXY 或 HTTPS_PROXY 的情况下,用于 HTTP 和/或 HTTPS 请求的代理服务器。
|
NO_PROXY | 以逗号分隔的应排除在代理外的主机名称列表。 |
示例:
- 未经身份验证:
ALL_PROXY=http://localhost:8888
- 使用身份验证:
ALL_PROXY=http://user:password@localhost:8888
如果未设置环境变量,则使用默认代理系统(IE 设置或 Windows 代理设置)
请在此查看 Microsoft 的官方文档。
<defaultProxy>
标签在 web.config
中配置代理配置。不再支持的配置示例:
<system.net>
<defaultProxy>
<proxy usesystemdefault="True" proxyaddress="http://<ip>:<port>" bypassonlocal="True" />
</defaultProxy>
</system.net>
<system.net>
<defaultProxy>
<proxy usesystemdefault="True" proxyaddress="http://<ip>:<port>" bypassonlocal="True" />
</defaultProxy>
</system.net>
web.config
移至 UiPath.Orchestrator.dll.config
。新文件保留与旧文件 web.config
相同的结构,并且位于同一目录中。请记住,更改 UiPath.Orchestrator.dll.config
文件不会重新启动 IIS。以下部分已移动:
- 连接字符串
- 应用程序设置
- NLog 配置
- Quartz 配置
- 加密密钥
web.config
已重新调整用途,即仅包含 IIS 使用的配置。升级后,安装程序将自动将上述部分移至新的配置文件。它将转换 web.config
中的剩余配置,以匹配 Orchestrator 最新版本所需的配置。客户自定义配置将保留,包括禁用的动词、启用/禁用的模块、自定义的重写规则。
请查看 web.config 文档。
请查看 UiPath.Orchestrator.dll.config 文档。
connectionStringName
属性已由 connectionString
替换。其值必须使用以下语法:connectionString="${ui-connection-strings:item=Default}"
,其中 Default
是您要在 <connectionStrings>
部分中使用的连接字符串的名称。
请参阅 Orchestrator 执行日志目标的相关文档。
Database
的自定义 NLog 目标,则在升级过程中,属性 connectionStringName
将自动更改为 connectionString
。如果在安装/升级后手动将目标插入到配置文件中,请使用具有正确值的新属性。
我们已将 SignalR 库更新为较新的版本,该版本与较旧的机器人客户端不兼容。为在有作业可执行时不间断地通知无人值守机器人,我们已实施一种通过长轮询来模拟旧 SignalR 协议的兼容机制。2020.10 之前版本的机器人仅通过长轮询与 Orchestrator 建立连接。
SignalR 横向扩展需要除 WebSocket 以外所有协议的粘滞会话(即 SSE 和长轮询)。
默认情况下,仅默认启用 WebSocket 传输,因为 Orchestrator 会假定客户的负载均衡器未启用粘滞会话。
UiPath.Orchestrator.dll.config
中添加 <add key="Scalability.SignalR.RequireStickySessions" value="true" />
密钥以启用粘滞会话。如果设为 true
,则启用所有传输,并且 Orchestrator 假定负载均衡器已启用粘性会话。在 UiPath.Orchestrator.dll.config
中启用粘滞会话但不在负载均衡器上启用将导致 SignalR 连接失败。
Scalability.SignalR.AuthenticationEnabled
参数已弃用。
如果使用早于 2020.10 的“等待队列项目”活动,则可能会遇到长达 30 秒的延迟情况。
我们将内部 NuGet 订阅源的协议从 v2 更新到了 v3。
Legacy
不再是受支持的 NuGet 存储库类型。升级后,所有类型为 Legacy
的存储库都将迁移至 Composite
。
web.config
中配置 NuGet.Packages.Path
和 NuGet.Activities.Path
参数的方式。
- 如果您将包存储在默认位置(
~/NuGetPackages
和~/NuGetPackages/Activities
),则包的新位置将变为RootPath=.\Storage
。 - 如果您将包存储在自定义位置,则系统在安装过程中会要求您选择新的存储位置。对于静默安装,除非您在升级前已在
web.config
指定参数,否则必须使用STORAGE_TYPE
和STORAGE_LOCATION
参数。
UiPath.Orchestrator.dll.config
中的 Storage.Type 和 Storage.Location 参数配置包位置。升级后,所有与 Legacy
相关的应用程序设置将弃用,并且失效。
NuGet.Packages.Path
NuGet.Activities.Path
Nuget.EnableRedisNodeCoordination
Nuget.EnableNugetServerLogging
NuGet.EnableFileSystemMonitoring
NuGet.存储库.类型
Composite
存储库不支持在专用的包文件夹中使用复制粘贴命令。
swagger.json
文件的生成方式进行了重大更改。如果您依赖使用 Swagger 文件中的 API 描述的客户端库生成器(例如:AutoRest、Swagger Codegen),则生成的代码将有很大的不同。