I've written before about approaches to automating the install of Sitecore instances via PowerShell, but recently I've been working upgrading this process to set up entire servers. As part of this research I've been working on how to move the scripting over to PowerShell Desired State Configuration – Microsoft's framework for automating the configuration of servers. Having got to a position where the scripts are working and I can turn a plain copy of Windows Server into a functioning Sitecore box, I thought I'd shared an explanation of the tools and how it can be used for Sitecore development environments.
I'm going to break this up into a series of posts, as it's quite a big topic. This week is a bit of an introduction to DSC and my goals for it:
Previously, I've written a few posts (here, here and here) about automation approaches and PowerShell scripts I was experimenting with for installing developer instances of Sitecore 6. It seems about time that I checked out how that scripting work copes with newer versions of Sitecore...
As I slowly get to move from v6.6 era versions of Sitecore onto the more modern releases, one of the topics I've been re-visiting is install automation. In the past I'd looked at PowerShell scripts for installing Sitecore itself, and configuring development sites, but one of the new things to deal with once you move past v7.5 is the need for MongoDB. Turns out, that's pretty easy to automate if you need to:
I encountered a strange error last week, while setting up a virtual machine for some testing: Double clicking the Sitecore 7.2 installer would show the "Extracting" dialog, but after a short while it would vanish and nothing else would happen...
Continuing my current theme of installation automation via PowerShell, the next task I found myself looking at was how to enable Sitecore's analytics for a newly installed Sitecore instance. This is a task that the standard .exe installer doesn't do for the v6.6 sites I'm working with, but is relatively simple to automate.
Ages back I wrote up some
work on automating the Sitecore installer. I noted back then that I wasn't sure what the purpose of the
parameter to the MSI was. Having done some more work on the topic of install automation recently, I've got some more detail on what it's for now, as well as another parameter that's more important than I had realised...
Quick bit of script this week. Ages back I wrote up the process for working out how to run unattended installations of Sitecore using its .exe installer and then converted that to PowerShell. Recently I've been doing a bit more work on install automations in PowerShell. (Which I plan to write up in future posts) But while doing this, I realised that the flip side of automating the install is that it's also helpful to be able to remove an instance of Sitecore automatically too...
In my last two posts [first part, second part] I've outlined the results of some research into an approach for how you can package Sitecore with NuGet. I presented this at a recent Sitecore Technical User Group, and am documenting it here with a bit of detail that didn't fit into the presentation. This week I'll finish off the set of posts with a few conclusions from this experiment.
Last week I started writing up the content from my Sitecore Technical User Group presentation on using NuGet for the easy creation of new development instances. This week I'm continuing that topic, with the next steps for package creation:
A couple of weeks ago I had the chance to speak at the Sitecore Technical User Group in Manchester. I gave a talk about experiments into how you can put Sitecore into a NuGet package in order to create low-effort developer instances. Due to time constraints I wasn't able to get all of the information I wanted into the presentation, so over the course of my next three posts I plan to write up the key info from the presentation with that extra detail.