Important!
Make sure you have Web Deploy 3.5 installed on the machine where you are running the script as detailed here, and your SQL server deployed and configured as detailed here.
The Azure installation script enables you to install Orchestrator on one or multiple nodes.
One Node Installation
To install Orchestrator on an Azure App Service perform the following steps:
- In the Azure Portal, under App Services, create a new app service with a custom name such as
UiPathOrchestrator
. For more information, see Microsoft's official documentation. - Set the database connection string in the Application Settings of the web app, with the name "Default". For example,
Server=13.13.13.13;Initial Catalog=UiPath;Persist Security Info=False;User ID=dbUser;Password=pass123; MultipleActiveResultSets=False;Encrypt=True; Connection Timeout=30;TrustServerCertificate=True
. - Select the app and, in the Overview tab, click Get Publish Profile. The
[appservicename].PublishSettings
file is downloaded. - Download the
UiPathOrchestrator.zip
archive. - Run the
Publish-Orchestrator.ps1
script, in PowerShell, as follows:
Publish-Orchestrator.ps1 `
-action Deploy `
-hostAdminPassword "CustomHostAdminPassword" `
-isHostPassOneTime `
-defaultTenantAdminPassword "CustomDefaultTenantAdminPass" `
-isDefaultTenantPassOneTime `
-package "path/to/package" `
-activitiesPackagePath "path/to/UiPathActivities.zip" `
-publishSettingsPath "path/to/publishSettings" `
-nugetRepositoryType "RepositoryType" `
-storageType "StorageType" `
-storageLocation "StorageLocation" `
Where:
hostAdminPassword
- Mandatory. Specify a custom password for the host administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.isHostPassOneTime
- Optional. Enables you to enforce a password reset on the first login for the host administrator if set to1
. If this parameter is omitted, the host admin password is not a one-time password.defaultTenantAdminPassword
- Mandatory. Specify a custom password for the default tenant administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.isDefaultTenantPassOneTime
- Optional. Enables you to enforce a password reset on the first login for the default tenant administrator if set to1
. If this parameter is omitted, the host admin password is not a one-time password.package "path/to/package"
- Mandatory. Indicate the full path of theUiPath.Web.zip
archive.-activitiesPackagePath "path/to/UiPathActivities.zip"
- Optional. Specify the full path of theUiPathActivities.zip
archive, which is included by default, starting with v2018.4.4, inUiPathOrchestrator.zip
. This enables you to install the local activity feed in Azure at install-time. Please note that this parameter can be used only with theLegacy
repository type. Otherwise, it has to be manually set up.publishSettingsPath "path/to/publishSettings"
- Mandatory. Specify the full path of the[appServiceName].PublishSettings
file.nugetRepositoryType "RepositoryType"
- Mandatory. This parameter specifies where NuGet packages are saved. It can be populated as follows:Composite
- Package metadata is saved to the SQL database for faster search and filtering. Execution media and packages are saved to the location specified through thestorageType
andstorageLocation
parameters. This is the default value in both update scenarios and clean installations.Legacy
- Uses FileSystem for package sync. Packages and activities are saved in the locations specified in theNuGet.Packages.Path
andNuGet.Activities.Path
parameters, respectively. Execution media is saved to the location specified through thestorageType
andstorageLocation
parameters. Platform users must enter this value in update scenarios to maintain access to preexisting packages.
storageType "StorageType"
- Defines the target where execution media and packages are to be saved. It can be populated with the following targets:FileSystem
- such asstorageType "FileSystem"
. This is the default value in both update scenarios and clean installations.Azure
- such asstorageType "Azure"
.Amazon
- such asstorageType "Amazon"
.Minio
- such asstorageType "Minio"
.
storageLocation "StorageLocation"
- Defines the actual location where execution media and packages are to be saved. Particularities:- FileSystem - provide an absolute path in the
RootPath=.\Storage
format, such asstorageLocation "RootPath=C:\FolderName\AnotherFolderName"
. - Azure - provide a connection string, such as
storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net"
. - Amazon - provide a connection string, such as
storageLocation" "EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false"
. - Minio - provide a connection string, such as
storageLocation" "host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1"
.
More information on these deployments types is available here.
- FileSystem - provide an absolute path in the
This procedure generates two files:
AzurePublishParameters.json
AzureApplicationSettings.json
- Store the
AzurePublishParameters.json
file to a preferred location, as you need it for future deployments. - Open the
AzureApplicationSettings.json
file with a text editor such as Notepad++. - Copy all the information present in the
AzureApplicationSettings.json
file to the Azure Portal, in the Application settings tab, under the App settings section. - Start the Orchestrator app service. Enjoy using Orchestrator on your Azure Portal.
Clustered Installation
To install Orchestrator on multiple nodes on an Azure App Service perform the following steps:
- In the Azure Portal, under App Services, create a new app service with a custom name such as
UiPathOrchestrator
. For more information, see Microsoft's official documentation. - Set the database connection string in the Application Settings of the web app, with the name "Default". For example,
Server=13.13.13.13;Initial Catalog=UiPath;Persist Security Info=False;User ID=dbUser;Password=pass123; MultipleActiveResultSets=False;Encrypt=True; Connection Timeout=30;TrustServerCertificate=True
. - In the Scale out (App Service plan) tab, select the Scale to a specific instance count option and provide the desired Instance count.
- In the Overview tab, click Get Publish Profile. The
[appServiceName].PublishSettings
file is downloaded. - Download the
UiPathOrchestrator.zip
archive. - Run the
Publish-Orchestrator.ps1
the script, in PowerShell, as follows:
Publish-Orchestrator.ps1 `
-action Deploy `
-hostAdminPassword "CustomHostAdminPassword" `
-isHostPassOneTime `
-defaultTenantAdminPassword "CustomDefaultTenantAdminPass" `
-isDefaultTenantPassOneTime `
-package "path/to/package" `
-activitiesPackagePath "path/to/UiPathActivities.zip" `
-publishSettingsPath "path/to/publishSettings" `
-sessionStateMode "Off" `
-useQuartzClustered `
-redisServer "RedisServer" `
-redisPassword "RedisPassword" `
-redisPort [RedisPort] `
-robotsElasticSearchUrl "RobotsElasticSearchUrl" `
-robotsElasticSearchTargets "ElasticSearchUrl" `
-robotsElasticSearchUsername "Username" `
-robotsElasticSearchPassword "Password" `
-serverElasticSearchDiagnosticsUsername "Username" `
-serverElasticSearchDiagnosticsPassword "Password" `
-nugetRepositoryType "RepositoryType" `
-storageType "StorageType" `
-storageLocation "StorageLocation" `
Where:
hostAdminPassword
- Mandatory. Specify a custom password for the host administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.isHostPassOneTime
- Optional. Enables you to enforce a password reset on the first login for the host administrator if set to1
. If this parameter is omitted, the host admin password is not a one-time password.defaultTenantAdminPassword
- Mandatory. Specify a custom password for the default tenant administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.isDefaultTenantPassOneTime
- Optional. Enables you to enforce a password reset on the first login for the default tenant administrator if set to1
. If this parameter is omitted, the host admin password is not a one-time password.package "path/to/package"
- Mandatory. Indicate the full path of theUiPath.Web.zip
archive.-activitiesPackagePath "path/to/UiPathActivities.zip"
- Optional. Specify the full path of theUiPathActivities.zip
archive, which is included by default, starting with v2018.4.4, inUiPathOrchestrator.zip
. This enables you to install the local activity feed in Azure at install-time. Please note that this parameter can be used only with theLegacy
repository type. Otherwise, it has to be manually set up.publishSettingsPath "path/to/publishSettings"
- Mandatory. Specify the full path of the[appServiceName].PublishSettings
file.sessionStateMode "Off"
- Mandatory. This parameter has been deprecated so it is compulsory to disable it by setting it toOff
.useQuartzClustered
- Mandatory. A switch that indicates that this is a clustered installation.redisServer "RedisServer"
- Mandatory. If you want to use Redis as your database, provide this parameter and the URL of the server as a value.redisPassword "RedisPassword"
- Mandatory. If you want to use Redis, provide the password for your Redis server instance.redisPort [RedisPort]
- Mandatory. If you want to use Redis, provide the port used by your Redis server.robotsElasticSearchUrl "RobotsElasticSearchUrl"
- Optional. This should be used only if you want to use Elasticsearch for logging. Provide the Elasticsearch URL as the value, such as"http://elasticserver:9200"
. If your Orchestrator instance requires authentication, provide theElasticSearchUsername
,ElasticSearchPassword
,elasticSearchDiagnosticsUsername
, andelasticSearchDiagnosticsPassword
parameters.robotsElasticSearchTargets "ElasticSearchUrl
- Optional. This parameter enables you to send Robot logs only to the configured Elasticsearch server. Provide the Elasticsearch URL as the value, such as"http://elasticserver:9200"
. Please note that it can only be used in conjunction with the-robotsElasticSearchUrl
parameter. If you do not provide this parameter, Robot logs are sent to both the configured SQL database and Elasticsearch.serverElasticSearchUsername "Username"
- Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled.serverElasticSearchPassword "Password"
- Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled.serverElasticSearchDiagnosticsUsername "Username"
- Optional. This parameter enables you to indicate the username for your Elasticsearch instance if its authentication is enabled. This parameter together withelasticSearchDiagnosticsPassword "Password"
are required for internal Orchestrator logs.serverElasticSearchDiagnosticsPassword "Password"
- Optional. This parameter enables you to indicate the password for your Elasticsearch instance if its authentication is enabled. This parameter together withelasticSearchDiagnosticsUsername "Username"
are required for internal Orchestrator logs.nugetRepositoryType "RepositoryType"
- Mandatory. This parameter specifies where NuGet packages are saved. It can be populated as follows:Composite
- Package metadata is saved to the SQL database for faster search and filtering. Execution media and packages are saved to the location specified through thestorageType
andstorageLocation
parameters. This is the default value in both update scenarios and clean installations.Legacy
- Uses FileSystem for package sync. Packages and activities are saved in the locations specified in theNuGet.Packages.Path
andNuGet.Activities.Path
parameters, respectively. Execution media is saved to the location specified through thestorageType
andstorageLocation
parameters. Platform users must enter this value in update scenarios to maintain access to preexisting packages.
storageType "StorageType"
- Defines the target where execution media and packages are to be saved. It can be populated with the following targets:FileSystem
- such asstorageType "FileSystem"
. This is the default value in both update scenarios and clean installations.Azure
- such asstorageType "Azure"
.Amazon
- such asstorageType "Amazon"
.Minio
- such asstorageType "Minio"
.
storageLocation "StorageLocation"
- Defines the actual location where execution media and packages are to be saved. Particularities:- FileSystem - provide an absolute path in the
RootPath=.\Storage
format, such asstorageLocation "RootPath=C:\FolderName\AnotherFolderName"
. - Azure - provide a connection string, such as
storageLocation "DefaultEndpointsProtocol=https;AccountName=usr;AccountKey=...;EndpointSuffix=core.windows.net"
. - Amazon - provide a connection string, such as
storageLocation" "EndpointRegion=eu-west-3;accessKey=AKIAZGUEIGXUJ3BBI4MW;secretKey=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;useHttp=false"
. - Minio - provide a connection string, such as
storageLocation" "host=localhost:9001;accessKey=YVKYFJ0ZY246KDKP0634;secretKey=bdBEk2ubhIFsTNPuQ80PjKL+oqZBj67HoSWBFnw1"
.
More information on these deployments types is available here.
- FileSystem - provide an absolute path in the
This procedure generates two files:
AzurePublishParameters.json
AzureApplicationSettings.json
- Store the
AzurePublishParameters.json
file to a preferred location, as you need it for future deployments. - Open the
AzureApplicationSettings.json
file with a text editor such as Notepad++. - Copy all the information present in the
AzureApplicationSettings.json
file to the Azure Portal, in the Application settings tab, under the App settings section. - Start the Orchestrator app service. Enjoy using Orchestrator on your Azure Portal.
Updated 2 years ago