07908 859 818


Sitecore 9.02 – Automated Deployment

Recently I’ve been working on a large scale Sitecore 9.02 application that is independently scaled into 8 different Azure AppServices and over 10 SQL PaaS Databases. Deployment is very complicated as different routines and actions need to be executed depending on the server instance. From a technology perspective the deployment consists of an onPrem Build server and Azure DevOps, formally known as VSTS. The build tasks consist of PowerShell scripts, GULP tasks, and package management from Nuget and NPM (Node Package Manager). The build server is configured with the Azure DevOps build agent and the build tasks are setup using templates in Azure DevOps Pipelines. In Total there are 24 build tasks that consist of a fully deployment for Sitecore 9.02.

The key area of the deployment process is described below.

Custom Poweshell Scripts

PowerShell makes up a significant proportion of the deployment tasks. It covers areas such as FTP down and uploads, MSBuild calls with multiple verb types, triggering Gulp tasks (See Below) and “taskkills” to increase the reliability of intermittent failures due to processes not clearing locks on files.

Gulp Tasks

Gulp is an open source Javascript tool which is built on Node.js and is used as a build system for automated tasks. Updating the base gulp JS scripts that ship with Habitat I use it for a number if build tasks such as, building the solution and each layer such as foundation, feature and project, deploying to the web root, unicorn synchronisation and deploying to XConnect. Gulp tasks can be initiated with Powershell so they work great with Azure DepOps.