Azure Analysis Service deployment
Visual Studio Team Service deploy task that will deploy a Azure Analysis Service Model to an existing Azure Analysis Service.
YAML Snippet
# Azure Analysis Service deployment
# Deploy an Azure Analysis Service model
- task: liprec.vsts-release-aas.deploy-aas-db.deploy-aas-db@1
displayName: 'Deploy model'
inputs:
#ConnectedServiceNameARM: # Required
#aasServer: # Required
#modelName: # Optional
#loginType: 'User' # Option: user, spn
#adminName: # Required when loginType == user
#adminPassword: # Required when loginType == user
#tenantId: # Required when loginType == spn
#appId: # Required when loginType == spn
#appKey: # Required when loginType == spn
#pathToModel: # Required
#connectionType: none # Option: none, sql
#sourceSQLServer: # Required when loginType == sql
#sourceSQLDatabase: # Required when loginType == sql
#sourceSQLUsername: # Required when loginType == sql
#sourceSQLPassword: # Required when loginType == sql
#ipDetectionMethod: autoDetect # Option: autoDetect, ipAddressRange
#startIpAddress: # Required when ipDetectionMethod == ipAddressRange
#endIpAddress: # Required when ipDetectionMethod == ipAddressRange
#deleteFirewallRule: true # Optional
#overwrite: true # Optional
#remove: false # Optional
#azurePowerShellVersion: latestVersion # Option: latestVersion, otherVersion
#preferredAzurePowerShellVersion: # Required when targetAzurePs == otherVersion
Arguments
Argument | Description |
---|---|
ConnectedServiceNameARM Azure RM Subscription |
(Required) Name of Azure Resource Manager service connection. |
aasServer Analysis Services name |
(Required) Name of the Azure Analysis Services name. |
modelName Model Name |
(Optional) Name of the Analysis Services Model. Will overwrite the model name in the .bim file. |
loginType Login type |
(Required) Type of account used to access the AAS instance, can be Named User or Service Principal. Default: user |
adminName Analysis Services Admin |
(Required when Login type is Named User) The Azure Analysis Service admin username. |
adminPassword Analysis Services Admin Password |
(Required when Login type is Named User) Password of the Azure Analysis Service admin. |
tenantId Azure AD TenantID |
(Required when Login type is Service Principal) Azure AD TenantID of the service principal. |
appId Application ID |
(Required when Login type is Service Principal) Application ID of the service principal. |
appKey Application Key |
(Required when Login type is Service Principal) Application secret of the service principal. |
pathToModel Model file |
(Required) Full qualified path the model.bim file. |
connectionType Data Source Type |
(Required) Type of connection to model datasource. Currently it can only be None or Azure SQL. |
sourceSQLServer Source Azure SQL Server Name |
(Required when Data Source Type is Azure SQL) Azure SQL Server name. |
sourceSQLDatabase Source Database Name |
(Required when Data Source Type is Azure SQL) Name of the Azure SQL Database, where the files will be deployed. |
sourceSQLUsername Source User Login |
(Required when Data Source Type is Azure SQL) Specify the Azure SQL Server user login. |
sourceSQLPassword Source Password |
(Required when Data Source Type is Azure SQL) Password for the Azure SQL Server user. It can accept variable defined as $(passwordVariable) . You may mark the variable type as 'secret' to secure it. |
ipDetectionMethod Specify Firewall Rules Using |
(Required) Type of Firewall deployment. Can be Auto Detect or IP Address Range. Default: Auto Detect |
startIpAddress Start IP Address |
(Required when Specify Firewall Rules Using is IP Address Range) The starting IP Address of the automation agent machine pool like 196.21.30.50 |
endIpAddress End IP Address |
(Required when Specify Firewall Rules Using is IP Address Range) The ending IP Address of the automation agent machine pool like 196.21.30.65 |
deleteFirewallRule Delete Rule After Task Ends |
(Optional) If selected, the added exception for IP addresses of the automation agent will be removed. Default: true |
overwrite Overwrite |
(Optional) Overwrites the existing model. Default: true |
remove Remove before Deploy |
(Optional) Remove the model before a new deployment. Default: false |
azurePowerShellVersion Azure PowerShell Version |
(Required) Pick the latest version available on the agent or specify a preferred version of Azure PowerShell, can be Latest installed version or Specify version. Alias: targetAzurePs Default: Latest installed version |
preferredAzurePowerShellVersion Preferred Azure PowerShell Version |
(Required when Azure PowerShell Version is Specify version) Preferred Azure PowerShell Version needs to be a proper semantic version eg. 1.2.3. Alias: customTargetAzurePs |
Additional notes
- At this moment the task only supports 1 SQL Server connection Support for more types of connection is in development.
- At this moment the following configuration are tested and working:
- Model 1400 and a single SQL Server database as datasource
More configuration will follow. Feel free to contact me for a specific configuration.
Release notes
1.3
- Bug fix for Remove before Deploy
- Add extra removal of firewall leftovers
1.2
- Add support for service principal deployments
- Add support for adding firewall rules
1.1.2
- Model files are readed with UTF8 encoding
1.1.0
- New: AAS return messages (error/warning) are used for the tasks logging
- Bugfix: Better logging when exceptions are thrown
1.0.0
- Initial public release
Feedback
If you have any comment related to the documentation, like corrections, unclear features or missing documentation, feel free to leave feedback below via GitHub. Or correct it yourself and submit a PR; see CONTRIBUTING.md for more details. GitHub account required.