0

I am very new to continuous integration, but I decided to give it a shot. Unfortunately I found there to be huge quantities of different tools, and each one is sizable and seems to be difficult (I am new so of course it intimidates me).

What I am looking for however is a tool that can

  • run my junit tests
  • execute my builds
  • create the jars
  • deploy specific jars to specific remote servers

What are the key steps and approaches to filling these requirements?

1 Answer 1

4

A Continuous Integration server essentially just does a build as you would on the command line on a regular basis. Thats the core of it. The key is to have a build that will automatically run the junit tests, run the static analysis, and assemble the jar.

For this, there are three tools to look at. From oldest to newest they are ant, maven, and gradle. Any of these tools will work, the newer ones are more automated. It is a matter of setting up the tool to do what you want it.

Once you have the build so you can type one command and build (maven package or the like) that does all the parts, it should be a "simple matter" of moving that onto the CI server.

The deployment tool would use another plugin such as the deploy plugin which could do it, or you could write your own script (that is a "build") that invokes as part of a build pipeline.

The key to all of this, however, is first setting up the build so that it can be built with one command.

2
  • Also if you can suggest any good books, I will be really happy
    – Quillion
    Jul 12, 2013 at 19:04
  • @Quillion I'd suggest looking at maven (more mature (available resources that I've found) than gradle, and handles dependencies better than ant - but thats me and my opinion for a new person in builds). For maven, there are a number of books (and free pdfs) linked from maven.apache.org/articles.html that are quite good and useful. Once you have the build working, then it should be a simple matter to put it on the CI server.
    – user40980
    Jul 12, 2013 at 19:06

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