Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question

closed as off-topic by GlenH7, Dan Pichelman, Dynamic, Kilian Foth, Yusubov Jul 17 '13 at 18:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – GlenH7, Dan Pichelman, Dynamic, Kilian Foth, Yusubov
If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

1 Answer

up vote 4 down vote accepted

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.

share|improve this answer
    
Also if you can suggest any good books, I will be really happy –  Quillion Jul 12 '13 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. –  MichaelT Jul 12 '13 at 19:06
add comment

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