Sitecore and cloud – Iaas, PaaS (Part III)

In previous step we dowloaded and prepared everything we needed for installation, and now we can deep into installatin scripts and execute our installation.

In this article, we will prepare deployment script and deployment parameters, and finally we trigger deployment into Azure.

This article is part of series of articles. To read other parts, you could use following links:
Part 1 (Sitecore and Azure introduction)
Part 2 (Installation prerequisities)
Part 3 (Installation)

Deployment configuration

To have everything on one place, let’s start with creation of directory, where we place everything required for installation – C:\AzureInstallaton. In this directory, copy all files we prepared in previous step. Additionaly, also put license.xml into this location.

If everything is OK, directory will look like on picture:

Deployment parameters

File azuredeploy.parameters.json contains basic configuration parameters which will be used during installation. Configuration values are following:

  • deploymentId – Name of resource group used for deployments. You can choose anything you want,  for example Sitecore-Test. If group does not exist, it will be automatically created.
  • location – Datacenter location, where resources will be created. Choose nearest to you, for example West Europe.
  • sitecoreAdminPassword – Password for admin user in Sitecore.
  • licenseXml – XML text of license file. Leave it empty, value will be filled in different script.
  • sqlServerLogin, sqlServerPassword – Name and password of user which will act as sa in SQL server created during deployment.
  • singleMsDeployPackageUrl – URL to file containing basic Sitecore deployment package. It is one of files we uploaded to Sitecore in previous step and URL will look like
  • xcSingleMsDeployPackageUrl – URL to file containing XConnect deployment package. URL will look like
  • authCertificateBlob – Encoded content of certificate (we got one in previous step) in form of PKCS12. Leave it empty, value will be filled in different script.
  • authCertificatePassword – Password for certificate. Leave it empty, value will be filled in different script.

Deployment executor

Additionally, we need configure some values in Deploy.ps1 file. This file controls and executes deployment process. At time of writing of this article, this file contains also one error which prevents correct functionality, so we will need to fix it too.

  • At the beginning of file configure paths to files and certificates.

    • In following part, configure basic configuration values for deployment

    • Now, we need to fix errors in original Sitecore file. Locate following section

    and place following code before that

  • Fix also another error in original file by replacing following part

    by following section

and thats all. If everything was done correctly, Deploy.ps1 will look like this:

If everythink looks fine, just execute Deploy.ps1 by typing

in working directory and after approx. 20 minutes new Sitecore 9.0 instance will be prepared.

2 thoughts on “Sitecore and cloud – Iaas, PaaS (Part III)”

    1. Hello …

      I will prepare article for that, but in general, you need extend your azuredeploy.parameters.json file by new section “modules” and then add configuration snippet for given module, and as final step, you need add bootloader module, which is responsible for “finalizing” of installation.

      So, for example – for integrated installation with SXA on XP single instance, azuredeploy.parameters.json file will be extended by this section:

      "modules": {
      "value": {
      "items": [
      "name": "sxa",
      "templateLink": "",
      "sxaMsDeployPackageUrl": "url_where_is_deploy_for_sxa",
      "speMsDeployPackageUrl": "url_where_is_deploy_for_powershell_extensions"
      "name": "bootloader",
      "templateLink": "",
      "parameters": {
      "msDeployPackageUrl" : "bootloader package (you can find it in azure toolkit zip)"

      (formatting is little bit broken 🙁 )

Leave a Reply

Your email address will not be published. Required fields are marked *