Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a software package I wrote in Mono and I want to be able to deploy it to Ubuntu server as part of my move to continuous integration and deployment work flow.

I was wondering if there is a tool to help me do that, some of the tasks I will need is

  1. Register a new domain/hostname with linux
  2. Install packaegs using apt-et
  3. Copy files
  4. Run some bash scripts

What are the solutions to streamline this process to automate, I understand that is more then one answer to this, I would love to hear all the methods pros and cons.

Thank you

share|improve this question
Questions with multiple answers like this are typically marked "Community Wiki" -- but I'm not sure how to do that. – Kyle Smith Mar 25 '12 at 16:31
Did you do any research at all on this? There's dozens of tools that you can use for this. – devicenull Mar 26 '12 at 3:40

There's at least chef, puppet, fabric, capistrano, cdist, bcfg2, cfengine and lots of other tools in this space.

You can also just cook something together yourself using ssh, public key authentication and some creative scripting.

share|improve this answer

At my company we use Jenkins.

share|improve this answer
Does it deploy? I use Teamcity as a CI – David MZ Mar 25 '12 at 16:37
I don't work directly with our BRI/CI team, but I believe they use scripts attached to Jenkins to install and uninstall our software during the CI cycle. – Kyle Smith Mar 25 '12 at 17:29

Well, a very good but also "complex" solutions to beginners is Cfengine. An agent makes sure that each Cfengine-run some predefined Cfengine-scripts. Those scripts are able to configure your system, run shell commands and scripts, perform a number of various tasks and therefore is able to serve as an unattended configuration agent.

View more information here:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.