- Create certificate
- Upload wdp files to a blob container. Get urls and SAS token to the root of that folder. Give it a decent timeframe.
- Install Sitecore using SIF installation.
- Put Databases into elastic pool
- Move ConnectionStrings to the WebApp configuration
- Copy down production databases (if this is uat or other type); Update passwords
- Move AppSettings to the WebApp configurations
- Download root for adding to base package
- Remove ConnectionStrings entries from base
- Remove AppSettings from base
- Package using Zip at web root; use name and version for the benefit of octopus.
Last active
October 15, 2019 09:45
-
-
Save deeja/9954b7edb747120227e6940bde2fc676 to your computer and use it in GitHub Desktop.
Sitecore installation from XP ARM notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Taken from Sitecore-Azure-Quickstart-Templates | |
$ErrorActionPreference = "Stop" # So it just doesn't keep going if something goes wrong. | |
# Specify the parameters for the deployment | |
$ArmTemplateUrl = "https://raw.githubusercontent.com/Sitecore/Sitecore-Azure-Quickstart-Templates/master/Sitecore%209.0.2/XPSingle/azuredeploy.json" | |
$ArmParametersPath = $PSScriptRoot + "\azuredeploy.parameters.json" | |
$licenseFilePath = $PSScriptRoot + "\license.xml" | |
# Specify the certificate file path and password if you want to deploy Sitecore 9.0 XP or XDB configurations | |
$certificateFilePath = $PSScriptRoot + "\DEV-Cert.pfx" | |
$certificatePassword = "SomePassword" | |
$certificateBlob = $null # set below | |
# Resource group name - also used for naming resources | |
$Name = "my-deployment-name" | |
$location = "uksouth" | |
$AzureSubscriptionId = "120a1284-8912-489d-be78-a474c37e14b3" # Not real ;) | |
# read the contents of your Sitecore license file | |
$licenseFileContent = Get-Content -Raw -Encoding UTF8 -Path $licenseFilePath | Out-String | |
# read the contents of your authentication certificate | |
if ($certificateFilePath) { | |
$certificateBlob = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes($certificateFilePath)) | |
} | |
#region Create Params Object | |
# license file needs to be secure string and adding the params as a hashtable is the only way to do it | |
$additionalParams = New-Object -TypeName Hashtable | |
$params = Get-Content $ArmParametersPath -Raw | ConvertFrom-Json | |
if ($params | Get-Member -Name parameters) { | |
$params = $params.parameters | |
} | |
foreach($p in $params | Get-Member -MemberType *Property) | |
{ | |
$additionalParams.Add($p.Name, $params.$($p.Name).value) | |
} | |
$additionalParams.Set_Item('licenseXml',$licenseFileContent) | |
$additionalParams.Set_Item('deploymentId',$Name) | |
$additionalParams.Set_Item('location',$location) | |
# Inject Certificate Blob and Password into the parameters | |
if ($certificateBlob) { | |
$additionalParams.Set_Item('authCertificateBlob',$certificateBlob) | |
} | |
if ($certificatePassword) { | |
$additionalParams.Set_Item('authCertificatePassword',$certificatePassword) | |
} | |
#endregion | |
#region Service Principle Details | |
# By default this script will prompt you for your Azure credentials but you can update the script to use an Azure Service Principal instead by following the details at the link below and updating the four variables below once you are done. | |
# https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/ | |
$UseServicePrincipal = $false | |
$TenantId = "SERVICE_PRINCIPAL_TENANT_ID" | |
$ApplicationId = "SERVICE_PRINCIPAL_APPLICATION_ID" | |
$ApplicationPassword = "SERVICE_PRINCIPAL_APPLICATION_PASSWORD" | |
#endregion | |
try | |
{ | |
#region Validate Resouce Group Name | |
Write-Host "Validating Resource Group Name..." | |
if(!($Name -cmatch '^(?!.*--)[a-z0-9]{2}(|([a-z0-9\-]{0,37})[a-z0-9])$')) | |
{ | |
Write-Error "Name should only contain lowercase letters, digits or dashes, | |
dash cannot be used in the first two or final character, | |
it cannot contain consecutive dashes and is limited between 2 and 40 characters in length!" | |
Break; | |
} | |
#endregion | |
Write-Host "Setting Azure RM Context..." | |
if($UseServicePrincipal -eq $true) | |
{ | |
#region Use Service Principle | |
$secpasswd = ConvertTo-SecureString $ApplicationPassword -AsPlainText -Force | |
$mycreds = New-Object System.Management.Automation.PSCredential ($ApplicationId, $secpasswd) | |
Login-AzAccount -ServicePrincipal -Tenant $TenantId -Credential $mycreds | |
Set-AzContext -SubscriptionID $AzureSubscriptionId -TenantId $TenantId | |
#endregion | |
} | |
else | |
{ | |
Write-Host "Attempting Setting of context without login" | |
Login-AzAccount | |
Set-AzContext -SubscriptionID $AzureSubscriptionId | |
} | |
Write-Host "Check if resource group already exists..." | |
$notPresent = Get-AzResourceGroup -Name $Name -ev notPresent -ea 0 | |
if (!$notPresent) | |
{ | |
New-AzResourceGroup -Name $Name -Location $location | |
} | |
Write-Host "Starting ARM deployment..." | |
New-AzResourceGroupDeployment ` | |
-Name $Name ` | |
-ResourceGroupName $Name ` | |
-TemplateUri $ArmTemplateUrl ` | |
-TemplateParameterObject $additionalParams ` | |
# -DeploymentDebugLogLevel All -Debug -Verbose | |
Write-Host "Deployment Complete." | |
} | |
catch | |
{ | |
Write-Error $_.Exception.Message | |
Break | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ALTER USER [coreuser] WITH PASSWORD=N'something' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment