- Getting Started
- Requirements
- Best Practices
- Installation
- Updating
- Identity Server
- Troubleshooting startup errors
Publish to Orchestrator
The following table describes all the parameters that can be used with the Publish-Orchestrator.ps1.
| Parameter | Description |
|---|---|
|
|
Mandatory. Indicates the type of scenario you want to start. The following options are available:
|
|
|
Mandatory. The Azure service principal ID. Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope. |
|
|
Mandatory. The Azure token password for the service principal ID. |
|
|
Mandatory. The Azure subscription ID for the App Service that hosts Orchestrator. |
|
|
Mandatory. The Azure tenant ID. |
|
|
Mandatory. The name of the Azure Resource Group that contains the Orchestrator App Service. |
|
|
Mandatory. The Orchestrator Azure App Service name. |
|
|
Mandatory. Indicate the full path of the |
|
|
Optional. Specify the full path of the |
|
|
Optional. This parameter enables the Test Automation module, for test data queues, test execution and scheduling. You can enable this feature based on one of the following scenarios: Start fresh with a clean Orchestrator install Configure the following settings for your App Service before running the
:fa-exclamation-circle: Make sure to mark these settings as Enable Test Automation post Orchestrator installation If you already have deployed Orchestrator without enabling the Test Automation module, run the Upgrade Orchestrator If you upgrade your Orchestrator instance, add the For more details about upgrading Orchestrator, see Publish-Orchestrator.ps1 Update. |
|
|
Optional. This parameter enables the Insights module and feature. You can enable this feature in one of the following scenarios: Start fresh with a clean Orchestrator installation Configure the following settings for your App Service before running the
Enable Insights post Orchestrator installation If you already have deployed Orchestrator without enabling the Insights module, run the Upgrade Orchestrator If you upgrade your Orchestrator instance, add the For more details about upgrading Orchestrator, see Publish-Orchestrator.ps1 Update. |
|
|
Optional. This parameter enables the Update Server module. You can enable this feature in one of the following scenarios: Start fresh with a clean Orchestrator installation Configure the following settings for your App Service before running the
Enable Update Server post Orchestrator installation If you already have deployed Orchestrator without enabling the Update Server module, run the Upgrade Orchestrator If you upgrade your Orchestrator instance, add the For more details about upgrading Orchestrator, see Publish-Orchestrator.ps1 Update. |
|
|
Optional. This should be used only if you want to use Elasticsearch for logging. Provide the Elasticsearch URL as the value, such as
|
|
|
Optional. This parameter enables you to send Robot logs only to the configured Elasticsearch server. Provide the Elasticsearch URL
as the value, such as |
|
|
Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled. |
|
|
Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled. |
|
|
Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled. This
parameter together with |
|
|
Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled. This
parameter together with |
|
|
Optional. Use Redis as a database to distribute messages and cache to and from all the machines connected through your load balancer.
If |
|
|
Optional. It can only be used if Examples:
|
|
|
Optional. Helps you enable Azure SignalR Service, facilitating a direct communication between your Robot fleet and the SignalR Service
- Orchestrator no longer intermediates it. Please note that, if enabled, Robots with a version lower than 2019.2 rely only
on the Heartbeat protocol to communicate to Orchestrator, meaning that any command given from Orchestrator is picked up by
a Robot only every 30 seconds. Example: |
|
|
Optional. Defines the target where execution media and packages are to be saved. It can be populated with the following targets:
If you have overridden the |
|
|
Optional. Defines the actual location where execution media and packages are to be saved. Particularities:
More information on these deployments types is available here. If you have overridden the |
|
|
Optional. It can be used only in upgrade scenarios. If specified, the script deploys Orchestrator in the indicated app service slot instead of the Production one. Additionally, a swap slot is performed with the Production slot, with no downtime. Prerequisites:
|
|
|
Optional. It can be used only if the Orchestrator App Service deployment slot is different from the default Production App Service Slot set by Azure. |
|
|
Optional. Key-value pairs of application settings that are pushed to the Azure App Service Configuration section after deployment.
Keep in mind that this only applies to settings from the App Settings section of the UiPath.Orchestrator.dll.config file. You can use this parameter to change specific settings that are not exposed through the Please note that existing settings are merged with new ones. |
|
|
Optional. If present, it stops the application before deployment and it starts it after the deployment is completed. |
|
|
Optional. If present, the deployment continues without any user confirmation. |
|
|
Optional. A string containing a comma-separated list of bucket providers you want to enable. If not specified, it defaults to Caution: If you use the FileSystem provider and upgrade to 20.10.7 or later, you must pass in a value that includes |
|
|
Mandatory only when FileSystem is selected as a bucket provider. The list of locations you want to allow buckets to be created at for the FileSystem provider. If you enable the FileSystem
provider, you must pass in a value for this parameter too. Values are a list of UNC paths, separated by the pipe symbol |
|
|
Optional. Allows you to publish to the Azure App Service by relying on your own user identity, without having to create a service principal.
If this parameter is used, the |
|
|
Optional. Allows you to include the external URL of the Orchestrator app service in cases where a custom URL is used. If this parameter is not populated, the app service default URL is used instead. |
-azureUSGovernmentLogin | Optional. This parameter is only used for US Government deployments. |
Parameters Persisted on Update
The following UiPath.Orchestrator.dll.config parameter values are automatically migrated and persisted when performing an update. To change them, provide new values when calling the Publish-Orchestrator.ps1 script.
-NuGet.Packages.ApiKey
-NuGet.Activities.ApiKey
-NuGet.Packages.Path
-NuGet.Activities.Path
-machineKey/@decryption
-machineKey/@decryptionKey
-machineKey/@validationKey
-EncryptionKey
-NuGet.Repository.Type
-Storage.Type
-Storage.Location
-LoadBalancer.Redis.ConnectionString
-LoadBalancer.UseRedis
-Scalability.AzureSignalR.ConnectionString
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@uri
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@username
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@password
-nlog/rules/logger/@name=Robot.*/@writeTo
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@uri
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@username
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@password
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@index
-nlog/rules/logger/@name=*/@writeTo
-NuGet.Packages.ApiKey
-NuGet.Activities.ApiKey
-NuGet.Packages.Path
-NuGet.Activities.Path
-machineKey/@decryption
-machineKey/@decryptionKey
-machineKey/@validationKey
-EncryptionKey
-NuGet.Repository.Type
-Storage.Type
-Storage.Location
-LoadBalancer.Redis.ConnectionString
-LoadBalancer.UseRedis
-Scalability.AzureSignalR.ConnectionString
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@uri
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@username
-nlog/targets/target/@name=robotElasticBuffer/@name=RobotElastic/@password
-nlog/rules/logger/@name=Robot.*/@writeTo
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@uri
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@username
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@password
-nlog/targets/target/@name=serverElasticBuffer/@name=serverElastic/@index
-nlog/rules/logger/@name=*/@writeTo
Examples
Single Node Installation
The following example enables you to perform a clean install of Orchestrator on one node, use Elasticsearch for logging, and save packages in the Azure blob storage and their metadata in the SQL database. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.
.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-testAutomationFeatureEnabled
-updateServerFeatureEnabled
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-verbose
.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-testAutomationFeatureEnabled
-updateServerFeatureEnabled
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-verbose
Multi-node Installation
The following example enables you to perform a clean install of Orchestrator on multiple nodes and use Elasticsearch for logging and Redis for caching and message distribution. Packages are saved in the Azure blob storage and their metadata in the SQL database. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.
.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-redisConnectionString "docs123.redis.cache.windows.net:6380,passwprd=******,ssl=True" `
-azureSignalRConnectionString "Endpoint=https://doctest.signalr.net;AccessKey=*****;Version=1.0;" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-verbose
.\Publish-Orchestrator.ps1 `
-action "Deploy" `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-redisConnectionString "docs123.redis.cache.windows.net:6380,passwprd=******,ssl=True" `
-azureSignalRConnectionString "Endpoint=https://doctest.signalr.net;AccessKey=*****;Version=1.0;" `
-robotsElasticSearchUrl "http://docelasticserver:9200" `
-storageType "Azure" `
-storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net" `
-verbose
Multi-node Update
The following example enables you to upgrade an existing multi-node Orchestrator to the latest available version, without changing any pre-existing setting. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.
Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-verbose
Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-verbose
The following example enables you to upgrade an existing multi-node Orchestrator to the latest available version while changing only the value of the Webhooks.Enabled and Telemetry.Enabled parameters to false. The procedure occurs in an -unattended manner and logs its steps at the -verbose level.
Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-appSettings @{"Webhooks.Enabled"="false"; "Telemetry.Enabled"="false"} `
-verbose
Publish-Orchestrator.ps1 `
-action Update `
-unattended `
-package "E:\Work\Orch\Setup\UiPath.Orchestrator.Web.zip" `
-stopApplicationBeforePublish `
-azureSubscriptionId "8e34be72-1937-4aa0-b70e-81bab19gbf0a" `
-azureAccountTenantId "f8350d2a-n153-4d17-8927-902c51f72797" `
-azureAccountApplicationId "$AzureApplicationId" `
-azureAccountPassword "$AzurePassword" `
-resourceGroupName "DocTest-Orch-RG" `
-appServiceName "DocTests123" `
-appSettings @{"Webhooks.Enabled"="false"; "Telemetry.Enabled"="false"} `
-verbose