What tools do you use for Automated Builds / Autom

2019-03-11 06:18发布

问题:

What tools do you use for Automated Builds / Automated Deployments? Why?

What tools do you recommend?

回答1:

Hudson for automated builds. I chose it because it was the easiest to setup and demo. A system that's too complex and isn't slick-looking won't impress management enough to get them on-board for automated builds. Especially in a project that has a lot of inertia.



回答2:

NAnt for builds (but MSBuild, Rake, almost anything would be fine) and CruiseControl.NET for deployments. I'm currently working with the new Cruise from ThoughtWorks studios as it provides a better way to stage the various pipelines and let's me deploy any version I want to a target environment.



回答3:

We use TeamCity, from JetBrains. They also make Resharper And IntelliJ.

We use it for building our .Net applications, and it has been quite easy to set up, connect to TFS, and run additional tools from. It is very polished, and actually kinda reminds me of this site. Found it much nicer than CruiseControl, and for our team size it is free. If you need lots of different builds, more per-user builds, and so on then it costs a bit (but still quite reasonable).



回答4:

Funnily enough I just spent two weeks overhauling (read implementing from scratch) our nightly build process. Great fun (no, really). I toyed with the idea of installing Team Foundation Server, but we use Perforce for source control and I didn't think it was worth the hassle.

Our process is now a set of Powershell scripts that run on a dedicated build/test server that do the following on a scheduled task:

Wipe out the entire source tree (check that you didn't have anything checked out first!)

Bring down the entire source tree from Perforce (from the last labelled build)

Generate a change report (by syncing to HEAD and watching what comes down)

Build the App

Index the PDB files to the Perforce sources

Store the binaries and symbols in a dedicated symbol server

Run the test projects

Build the installer

Label

Send out emails to the group with status reports on all of the above

Works well.



回答5:

make and bash on linux

make and cmd on windows



回答6:

Visual Build Pro



回答7:

We use a combination of build tools and continuous integration server:

Build tools:

  1. Maven
  2. SBT
  3. Gradle
  4. Rake

Continuous Integration Servers:

  1. Jenkins
  2. Hudson
  3. Travis CI


回答8:

Automated Build Studio.

Instead of letting you mes with scripts or xml files, it comes with predefined graphical macro operations that allows you to create tasks easily.



回答9:

For our Windows-compilable stuff, we use FinalBuilder.



回答10:

CruiseControl for automated builds. Works great.



回答11:

For automated builds, I think the best tool going right now is JetBrain's Team City. The free version has all the features you'll need for most 5-10 person teams. Set up is easy, configuring new projects is painless (relatively), and most importantly, it's reliable.

For automated migrations, nothing beats PowerShell.



回答12:

UppercuT uses NAnt to build and it is the insanely easy to use Build Framework.

Automated Builds as easy as (1) solution name, (2) source control path, (3) company name for most projects!

http://code.google.com/p/uppercut/

Some good explanations here: UppercuT

More information


UppercuT is a conventional automated build, which means you set up a config file and then you get a bunch of features for free. Arguably the most powerful feature is the ability to specify environment settings in ONE place and have them applied everywhere, including documentation when it builds the source.

Documentation available: https://github.com/chucknorris/uppercut/wiki

Features :

  • Simple setup
  • Simple upgrades
  • Custom extension points (pre, post, and replace) for each step of the build process http://uppercut.pbworks.com/CustomizeUsingExtensionPoints
  • Has documentation for integration w/Team City, CruiseControl.NET, and Jenkins (formerly Hudson) https://github.com/chucknorris/uppercut/tree/master/docs
  • Works on Linux w/Mono
  • Versioning DLLs based on build number and source control revisions (SVN, TFS, Git, HG)
  • Compile activities - F5 or Ctrl + Shift + B
  • Strong naming made as easy as true/false
  • Code Testing and Analysis
    • Testing
      • NUnit
      • MbUnit v2
      • Gallio
      • xUnit
    • NCover
    • NDepend
    • Nitriq
    • Mono Migration Analyzer
  • Obfuscation
  • ILMerge
  • Environment Templating and Building (ConfigBuilder, DocBuilder, SQLBuilder, DeploymentBuilder) https://github.com/chucknorris/uppercut/blob/master/docs/ConfigBuilder.doc?raw=true
  • Packaging output to prepare for deployment
  • Zips up output


回答13:

At work we use good ol' Ant to build our Java servlets.



回答14:

We used to use Visual Build from Kinook software, but recently with our new application we switched to MSBuild since it had better integration with TFS and the ability to create custom tasks.



回答15:

The GNU Autotools definitely. The autoconf and automake are de-facto standard for unix systems.



回答16:

I've had success using buildbot, triggered by a post-commit script on a subversion repository. This has been used for both automated builds and automated testing.



回答17:

ANT for both build and deployment/installs.

Makes a great cross-platform installer.



回答18:

We use Hericus Zed Builds And Bugs Management for our automated builds.

We have 4 branches of code, each with java, c++, C#, cross platform compiles and installers for 5 OS's.



回答19:

Make for the builds. Debian packages for deployments (since our production servers runs it).



回答20:

TeamCity running NAnt scripts for building/packaging and PowerShell for deployment.

I've found that using NAnt, powered by TeamCity, instead of the native TeamCity runners allows us to have a much richer build process (eg. css minimiser, etc). It also means the full build/package process can be run on any developers PC instead of just the TeamCity servers making it much easier to customise and debug problems in the build process.