After last week's work on installing the Coveo search service, this week we'll move on to how that script can be extended to install the Coveo REST API and the Coveo for Sitecore package.
Getting back to the the issue of installing things for a Sitecore development environment, this week I'm going to start tackling how you can add "Coveo for Sitecore" to a machine. While Coveo have provided some documentation on how this can be achieved, (for CES and REST APIs) they make they point that they don't offer support for this approach to installation. So this may not be right for everyone. But in case it's of use to you, here's the first part of my attempt at the automation:
Having been working on more automation with PowerShell DSC in the last week, I hit upon an interesting issue. For many operations, it doesn't really matter what user your script is executing as. Most local operations that only affect the current machine just work. However, every so often you come across an operation that you need to perform as a specific user. So how can you impersonate a different user for parts of your scripts?
So, finally, we've got the prerequisites (Windows,
Mongo,
SQL) out of the way, we can get to installing Sitecore in this post. There are a load of ways of going about this, but my usual choice is automating the Sitecore
.exe
installer. Doing this via DSC gives you the basis of an installation which can be used across all your platforms. The process below is based on the approach I've used with ordinary PowerShell in the past, but adapted for DSC:
After MongoDB last week, next on my list of stuff we might want to automate in our dev environments is SQL Server. There's a good story around automating installs here, as Microsoft have supported this for some time. And there's also a good story around installing it via DSC. I've taken most of my inspiration from this blog post, and pulled it into the install framework I've been working on. Thanks to Colin Dembovsky for his work here – as there wasn't that much that I found I needed to change to get everything working for me.
After last week's look at the basic setup of Windows features via PowerShell DSC, this week I'm looking at adding MongoDB into the mix. I wrote a post a while back about installing MongoDB via ordinary PowerShell, this post can re-purpose that logic in a new form...
I kicked off this series last week with a look at what PowerShell DSC is. This week I'm going to look at scripts you can use for basic configuration of Windows itself for a hypothetical development environment. I'll cover basic Windows features, a few issues you might encounter and helpful tweaks like being able to disable IE's "enhanced security" mode if you're working on a server.
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:
I'm in the middle of preparing a talk for an upcoming Sitecore user group on the subject of using PowerShell DSC for Sitecore installs. (I'll post a write up of the talk after I've given it) And one of the things I've discovered is that once you get into the guts of it, using configuration variables alongside Script Resources can be a bit confusing.
So, for the benefit of my future self (I'm bound to forget this as I am taking time off from my preparation to head over to the US for this**1 and this**2 ) I'm writing down what I've worked out...