8

I am looking for recommendations on tools for automatic deployment of Windows Service to several machines. The tool should be able to: - Stop/Start service - Copy files - Modify configuration files on each destination server according to some CSV/Excel file

Advantages: Web interface, notification via email, compression/decompression

Here are the tools I heard of, and I am starting to evaluate, but I would like to hear from people who actually applied one of these (or some other tools) in their automatic deployment process.

P.S. There is a similar question on SO, but it does not answer my question: WCF service deployment - tools

Answering Q: How many servers do you plan to deploy to? A: Currently 20 servers in 2 data centers. The numbers might grow in the future

Q: How many users will be involved in designing and executing the deployment? A: One would design the deployment, and somebody else (a single person) will execute it

Q: Does your deployment require Cross-tier synchronization? A: I need to deploy only a single Windows Service, no database changes, no IIS or any other web tier

Q: How important are auditing and reports to you? A: I would like the tool to be able to report whether its succeeded or not. It would be also nice to see a complete dashboard of all the deployed servers with their versions and recent changes.

Community
  • 1
  • 1
Boris Modylevsky
  • 3,029
  • 1
  • 26
  • 42
  • I think you need to give us some more info. How many servers do you plan to deploy to? How many users will be involved in designing and executing the deployment? Does your deployment require Cross-tier synchronization? How important are auditing and reports to you? The tools you list here, cover these areas to a different scale. – Ido.Co Jul 31 '12 at 14:14
  • Valid point. I've added more detailed requirements by answering your questions. If you are familiar with some of these tools I'd love to hear pros/cons of each of them. Thanks! – Boris Modylevsky Jul 31 '12 at 20:52
  • Similar question http://programmers.stackexchange.com/questions/122729/alternatives-to-octopus-for-deploying-net-applications – Michael Freidgeim Sep 20 '12 at 12:30
  • Thank for all the answers. It was decided to choose puppet due to its cross-platform support. – Boris Modylevsky Sep 20 '12 at 15:16
  • any final solution with full source code sample working about it ? – Kiquenet Jun 25 '13 at 06:33
  • I described the tools I checked and the final solution selected in the following blog posts: http://borismod.blogspot.co.il/2013/07/automatic-deployment-choosing-magic-tool.html http://borismod.blogspot.co.il/2013/07/automatic-deployment-final-solution.html – Boris Modylevsky Jul 25 '13 at 20:14

2 Answers2

2

You can try Jenkins (http://jenkins-ci.org/)

This tool provides a nice UI to configure automatic build and deploy any project. Also it have rich set of plugins available on internet.

Manoj Shevate
  • 742
  • 4
  • 18
  • Thanks! Are you actually using it for automatic deployment? – Boris Modylevsky Jul 31 '12 at 20:50
  • Yes, we are using it for continuous integration(building, Test automation and auto-deployment). Try it once, it have very good user friendly UI and also check plugins to make it even more simpler. – Manoj Shevate Aug 01 '12 at 08:10
1

You could add kwatee to your list. It's lightweight with a web interface for configuration and CLI tools to automate the deployment process. You can handle your target-specific parameter with built-in deployment variables but there might also be a way for you to do your own parsing of CSV files and inject them. Note that you must enable either ssh or telnet/ftp on your target computers.

mac
  • 5,627
  • 1
  • 18
  • 21
  • Thanks! Do you actually use this tool for automatic deployment? – Boris Modylevsky Jul 31 '12 at 11:31
  • @BorisModylevsky I'm actually involved in the development (100% free tool) and use it in banking/telecom environment (unix/linux). I've also seen people use it for deploying on windows and mixed windows/linux environments. Only downside (even if it seems inevitable) is the need for ssh or telnet/ftp which is not available by default on windows – mac Jul 31 '12 at 12:21