DSC + GIT

Anyone using DSC and GIT? This shouldn’t really be a hard thing to do, I’m sure most people are interested in this.

Having even more fun, anyone using GIT + Puppet with DSC?

Yes, but I’m not sure where you’re going with this question. We use GitHub for our source control repo, and DSC for config management.

My linux counterparts use git + puppet to manage their linux systems. They have asked me to look into using DSC with git (easy enough) but they want me to install puppet as the push method. I feel like that takes away part of what DSC can do.

So if I install puppet on a windows box, then push DSC from our git repo via puppet, interesting place. I think this is likely going to add unneeded complexity as then I have to manage puppet manifests/profiles etc.

Any thoughts?

In WMF 5.0, DSC integrates very well with other config management tools such as Puppet. In that case, you wouldn’t be writing DSC configurations at all, but your Puppet configurations (whatever they’re called) would be able to make use of DSC resources via the new Invoke-DscResource command. I’m not sure if that’s the scenario you’re describing or not, though, and WMF 5.0 isn’t production yet.

If you’re talking about having Puppet just act as a deployment tool for DSC configs (where Puppet’s agent would be compiling MOFs from PowerShell code, and running Start-DscConfiguration), that seems a bit weird to me, but it could still work. We do something similar with Octopus Deploy.

Remember DSC is just a platform and tools will tap into the platform. You still need a tool to manage all that Puppet and CHEF would that job. However WMF 5.0 april release you can use PS to connect to you local GIT repository. The Module is called PacketManagement
http://blogs.msdn.com/b/powershell/archive/2015/04/29/windows-management-framework-5-0-preview-april-2015-is-now-available.aspx

Maybe a bit off topic, but at Ignite there was a presentation about GIT webhooks and Azure Automation, which can act as your trigger mechanism for deployment, updating and CI builds. Basically, you link a GIT event to a Runbook. This can be targeted to Azure or local server(s). It’s seriously mouth watering stuff.

I have my DSC script, resources and configs in GIT. and use Jenkins to run the builds directly from GIT.