-
Notifications
You must be signed in to change notification settings - Fork 0
Azure Deploy Cloud Service Task
Mike Mooney edited this page Mar 27, 2015
·
6 revisions
The Deploy Cloud Service Task allows you to deploy, and create if necessary, an Azure Cloud Service. In order to run this task, you will need an Azure account (example here), a Cloud Service project (example here), and a management certificate for that account (example here, under Authentication)
sriracha.run.exe --taskBinary=Sriracha.DeployTask.Azure.dll --taskName=DeployCloudServiceTask --configFile=.\MyDeployCloudService.json
You can pull the deployment runner and task assembly into our solution with this NuGet package: http://www.nuget.org/packages/Sriracha.DeployTask.Azure/
Field Name | Parent | Description |
---|---|---|
AzureSubscriptionIdentifier | Root | [Required] Identifies Azure Subscription. See here for how to get this value |
AzureManagementCertificate | Root | [Required] Management Certificate to allow publishing to Azure subscription. See here for how to get this value |
Service Name | Root | [Required] Name of your service in Azure. If this service does not yet exist, it will be created. When we’re done, the cloud service will have the url http://[servicename].cloudapp.net/. Note: as you would guess with the URL, this service name must be unique, not just within your account, but also throughout all of Azure cloud services, so be creative. |
StorageAccountName | Root | [Required] An Azure storage account that is needed to to hold the Azure package binary during the deployment. If this account doesn’t exist, it will be created. Note: the storage account name must be between 3 and 24 characters, and can only contain lower case letters and numbers. |
AzurePackagePath | Root | [Required] The location of your Azure Cloud Service package (*.cspkg). This can be created by right-clicking your Cloud Service in Visual Studio and selecting Publish |
AzureConfigPath | Root | [Required] The location of the Azure configuration file (*.cscfg) to deploy with your project, also created when you package your Azure Cloud Service. By default it will use the values from this file, but those values can be overridden during deployment using the parameters below |
DeploymentSlot | Root | [Optional] The Azure deployment slot to deploy the package too. Common values are "production" and "staging", default is "production" |
AzureTimeoutMinutes | Root | [Optional] The number of minutes to wait for each step of the deployment process to complete before timing out. Default is 30 minutes. |
InstanceCount | CloudServiceRole | [Optional] The number of instances to initialize. This value will be written into the Azure package configuration file (*.cscfg) during the deployment. If not provided, the existing value from the Azure package configuration file will be used. |
ConfigurationSettingValues | CloudServiceRoles | [Optional] Hash object defining values to be overridden in the Azure package configuration file (*.cscfg). If no Setting element exists for a given name, it will be created. |
CertificateThumbprints | CloudServiceRoles | [Optional] Hash object defining thumbprint values to be overridden in the Azure package configuration file (*.cscfg). If no Certificate element exists for a given name, it will be created. |
Example:
{
"AzureSubscriptionIdentifier":"REPLACE_ME",
"AzureManagementCertificate" : "REPLACE_ME",
"ServiceName" : "REPLACE_ME",
"StorageAccountName" : "REPLACE_ME",
"AzurePackagePath": "REPLACE_ME",
"AzureConfigPath": "REPLACE_ME",
"RoleList": {
"MyRoleName": {
"InstanceCount": 1,
"ConfigurationSettingValues": {
"ConnectionString": "Data Source=MY_SERVER;Initial Catalog=MY_DATABASE;User ID=MY_USER; Password=MY_PASSWORD;",
"AzureStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=REPLACE_ME;AccountKey=REPLACE_ME"
},
"CertificateThumbprints": {
"MyCertificate": "REPLACE_ME"
}
}
}
}