nabulke
nabulke

Reputation: 11285

looking for scripting language for automated build & deploy

I'll start to write a automated build/deploy script for our software team, and I'm not sure which scripting language or tool to use. I'm always eager to learn something new and improve my value on the current software market, so what language do you propose? In the past, I used windows batch files, which are kind of ugly to read and script.

Here are few words as of my requirements and environment:

I want the script to

Thanks for any suggestions. Could be a community wiki since there's no definite answer, not sure about that...

EDIT:

Found those discussions, but they are a little older and perhaps outdated:
How do you automate a Visual Studio build?
Best .NET build tool

Upvotes: 2

Views: 3111

Answers (4)

Mark O'Connor
Mark O'Connor

Reputation: 78021

I'd suggest setting up a CI server (Hudson?) and use this to control all deployments to both your QA and production servers. This forces you to automate all aspects of deployment and ensures that the are no ad-hoc restarts of the system by developers.

I'd further suggest that you consider publishing your build output to a repository manager like Nexus , Artifactory or Archiva. In that way deployment scripts could retrieve any version of a previous build. The use of a repository manager would enable your QA team to certify a release prior to it's deployment onto production.

Finally, consider one of the emerging deployment automation tools. Tools like chef, puppet, ControlTier can be used to further version control the configuration of your infrastructure.

Upvotes: 2

JustBoo
JustBoo

Reputation: 1741

It was briefly mentioned, I like PERL for these sorts of things. On an absolutely humongous project I worked on, we had perl scripts practically running the entire build process. It even built classes based upon messaging templates. It was pretty cool, and this was a Windows project to boot.

CPAN provides an enormous resource.

HTH

Upvotes: 1

celavek
celavek

Reputation: 5715

I'm currently using Apache Ant combined with MPC (home brewed cross platform project) after successfully using the combination at one of my previous jobs, though XML does not quite qualify as a scripting language. But except for the cup of coffee it can do everything on your list. MPC is written in Perl and it's pretty flexible e.g. it allows you to specify postbuild and prebuild actions for VS projects.

EDIT: I was just browsing the site and stumbled on this question; see the answer about FinalBuilder (I'm considering giving it a try; you'd have to pay for it though)

Upvotes: 1

James
James

Reputation: 25553

I would recommend python for this sort of generic scripting task; it's a relatively easy language to learn and very flexible.

In particular, you would use the subprocess module to call all the external programs that you need; it makes capturing their output and controlling them very straightforward.

Upvotes: 1

Related Questions