0

I am using tfs release management which uses a custom dsc module to do some deployment tasks. At the same time I have a dsc pull server that would be able to distribute the modules to target nodes. But this does not seem to work and thus I have to make sure that the latest modules are always present on the target node. I read some articles on the web stating something like

DSC also supports a pull mode, but this isn’t supported by RM out-of-the-box

I've found this here but unfortunately there is no more information about this topic. I would love to know how to use a pull server to fetch modules. The current situation that I have to make sure to always copy the modules on the target node can not be how it is meant to be in our devops world.

Has anyone some insights into this RM/DSC/PullServer topic?
Thank you.

timtos
  • 2,225
  • 2
  • 27
  • 39
  • My latest thoughts on this are that in pre-production environments you want to push DSC (rather than have it pulled) as a precursor to deploying your components, so that if the push fails the deployment can fail. For production, you push at the time of deployment so you are absolutely sure that the config changes have happened before you deploy and then additionally deploy to (and rely on) a pull server configuration to correct any drift. I'll be blogging about how to actually do this in the next month or so but meantime see [here](http://bit.ly/1U13Hlq) for a list of DSC resources. – Graham Smith Mar 05 '16 at 11:11
  • Thanks for your input. Although now I am a little bit confused. An production example (as you have said it is good to use push for pre-production environments - and that totally makes sense). I have a server that I want to keep in some kind of base state with DSC via a pull server. I have two windows services that I want to deploy via DSC (the RM way). That does not seem to be possible. After a push the refresh mode changes to push on that node and thus it seems to be needed to always refresh the refresh method. Or am I mixing deploy and IAC? - but ok, perhaps I'll wait for your blog post! :) – timtos Mar 09 '16 at 09:00
  • IAC = Infrastructure as Code – timtos Mar 09 '16 at 09:00
  • 1
    I'm on a voyage of discovery myself I'm afraid - so no immediate answer. Just so you don't waste time waiting for me to publish my blogs only to find they aren't applicable to your circumstances, I'm working with the new version of RM which is available now in VSTS and will be available in TFS with update 2 which could well be released at [Build 2016](https://build.microsoft.com). If all goes well my DCS configs will be in a VS project as part of the application and will be published as an artefact of the build process. RM will then kick off the push as an early step in the deployment. – Graham Smith Mar 10 '16 at 07:51

1 Answers1

1

You can set up the target nodes to pull the required modules from a file share. Here is a blog that explains the same http://nanalakshmanan.com/blog/Push-Config-Pull-Module/

Nana Lakshmanan
  • 741
  • 3
  • 6
  • Hey Nana, that is a great blog post from you. I wonder if this is also possible with ResourceRepositoryWeb - so that if you already have a pull server you can use that. – timtos Mar 09 '16 at 08:51
  • @timtos - yes if you have a pull server already you can use it for the same. But if you don't use pull service it is easy to setup a file share repository – Nana Lakshmanan Mar 09 '16 at 18:24