Sitecore Production Deployments: The Big Bad Wolf

SPECIAL NOTE: This article is a lead up for my November 30th #SCUniversity session on Continuous Integration and Deployment. Register for the webinar now!

Do you need to secure 14 signatures and present technical documentation just to run a script on your production database? Does it take a group of enterprise architects to approve a change to your application? Or do you have no restrictions whatsoever but are so afraid of touching the production server in case the slightest change brings everything down?

You are not alone… the word ‘Production’ has become synonymous with ‘Hallowed’ and a culture of fear dominates all changes made to a working production environment. An upcoming production deployment can feel like the Big Bad Wolf is coming to blow your house down.

Big Bad Wolf reading bedtime story to wolf pup

Continue reading “Sitecore Production Deployments: The Big Bad Wolf”

Continuous Everything: The Art of Repetition

It is very fashionable to apply a single word to pretty much ANYTHING to try to get in on the latest trend. The current ‘Whatever-Ops’ trend (MarketingOps, ChatOps, OpsOps) is one such example. For a while, though, we’ve been having the word ‘Continuous’ thrown in front of a whole lot of activities in the software development world: Continuous Delivery, Continuous Improvement, Continuous Management. There’s a reason for this… repeatable processes are a key ingredient to predictable delivery. And predictable delivery means money in the bank!

Continue reading “Continuous Everything: The Art of Repetition”

TeamCity PowerShell scripts run with “- File” always return exit code zero

TeamCityAre you finding that your TeamCity Powershell scripts are always returning exit code zero (a success) no matter what happens? Even when an exception is thrown and you can see the error message in your build log?

I ran into this problem recently while moving some of my Powershell scripts into script files in source control. It turns out this is not an issue in TeamCity, but rather caused by a bug in Powershell itself. Never fear, there is a workaround!
Continue reading “TeamCity PowerShell scripts run with “- File” always return exit code zero”

Visual Studio Online and Azure deployment

VSOThis past Tuesday I attended a Webinar led by ALM Ranger and Microsoft MVP Esteban Garcia (@EstebanFGarcia). The topic? Azure and Visual Studio Online (VSO), specifically around deployments (or so I thought). There was more content in this session than I expected to get, that’s for sure!

My primary goal in attending the session was to get a better picture of how deployments worked from VSO code repositories into the Azure cloud, but as a bonus there was also coverage of VSO load testing functionality, as well as Application Insights. Continue reading “Visual Studio Online and Azure deployment”

Getting started with Agile ALM for Sitecore

application-lifecycle-managementOver the last few years, I’ve been trying to iteratively improve our own processes at nonlinear to deliver better Sitecore solutions and set our clients up for maintainable and sustainable ALM processes. Some of my posts on automated Sitecore deployments with TFS or TeamCity outlined some of the initial steps we took in automated deployments.  Recently, we posted a brief series to help folks getting into Application Lifecycle Management:

The first new piece of content I put together on this was a slideshare introducing ALM concepts of tool and process improvements, just to get people thinking about where they are in the process and what they need to change. I also covered how to achieve this with continuous improvement model, instead of trying to do a big-bang delivery.

The second piece I wrote covers why ALM matters for Sitecore (and pretty much any web application).  The post covers some of the primary benefits of ALM, as well as how to apply ALM processes during your Sitecore implementations.

The third piece, written by my colleague Mauro, highlights some tips for automated testing of Sitecore implementations, specifically with Selenium. He’s been doing some really awesome things with automated testing of Content Editor, Page Editor, and the end-user flows.

The recommended reads:

Sitecore Continuous Deployment: Conditional sublayout logic

Sitecore 122In a previous post, I discussed handling the continuous deployment of templates and layouts, but mentioned that you also need to worry about conditional business logic in your sublayouts. The primary issue is this: if the data model is constantly in flux and the system is in a state of needing to maintain current functionality while also supporting testing of new functionality, how do we avoid sublayouts blowing up when they render to the user?

Continue reading “Sitecore Continuous Deployment: Conditional sublayout logic”

Making the case for Continuous Deployment

SitecoreOver on the corporate blog, I’ve tried to make the case for executing continuous deployment for Sitecore solutions.  In reality, the concepts apply to any web applications being developed, but the particulars of how you will accomplish it will depend on the technology platforms being used.

I’d love to get some feedback, so please take a look and let me know your thoughts!

Sitecore Continuous Deployment: Templates and Sublayouts

SitecoreIf you have decided to move to a continuous deployment model with your Sitecore solution, you now have several hurdles that you need to overcome to get your solution from development into production without risking the stability of the user experience.  One of these is the introduction of new ‘building block’ content items such as templates or sublayouts.  It may take several iterations to get new templates and sublayouts to be correct, so how do we introduce these into the Sitecore database without affecting the production experience?

Continue reading “Sitecore Continuous Deployment: Templates and Sublayouts”

Sitecore Continuous Deployment: Video presentation from SVUG

SitecoreI had planned on kicking off a short series on how to tackle the challenges of Sitecore Continuous Deployment, but after I had written my post the Sitecore Virtual User Group (SVUG) held an online Q&A presentation by Jason Bert on Continuous Integration & Deployment. The presentation is a great introduction to the concepts and challenges.

Some notes on the presentation

Tools used:

TeamCity (build), Git (source control), Octopus Deploy (deployment), and Sitecore Courier (create update packages).

Continue reading “Sitecore Continuous Deployment: Video presentation from SVUG”