New team members, for example will need to know the subversion URL for checkout.
In addition, make full use of Maven's pom to declare all the sections that feed the default generated site, including: This is critical so that developers and stakeholders don't have to hunt and drill down page after page to find the meaningful metrics you worked so hard to set up. Aggregates maven multiproject build reports into a single report page. Creates the API documentation for your project. "Metrics are meant to help you think, not to do the thinking for you." I think the key to using this metric is to not to set a percentage that the project team must meet, but to be smart about interpreting the trends. Shows branch and line coverage for your source files. You want to see the results of your tests. Additionally, we forced it to run as part of every build in the validate phase, and configured it to fail the build if violations are found. We customized the ruleset, packaged it in a versioned jar and deployed it to our maven repository.
Performs design time analysis of the source code against a standard ruleset. It's possible for an individual project to override the custom ruleset, but we don't encourage that. Validates source code against coding standards and reports any violations. So which reports do we run? Here's the rundown: That keeps the report configurations in source control along with the code. Since we run maven, it is easy to plugin the reports of interest into the section of the pom. Although several CI engines (we currently use Hudson) do have plugins to generate quality reports such as unit test results and test coverage, we feel it is important that developers have full access to run all the same reports that CI will run. So, recalling the computer adage, Garbage In, Garbage Out, we have carefully picked a select few reports that we feel give us a good measure of quality and integrated them into our build so that the feedback from CI is meaningful. That's what continuous integration can do for you. "Dad!! Guess what happened today at school? It was so cool, I got an A+ on my spelling test!!" No effort on your part to ask, he just gushes unprompted, You would rather he came home with the enthusiasm of a kindergartener eager to tell you about his day as soon as he gets home. It's like being the parent of a teenager. Ideally, you should not have to remember to ask, the code should tell.
When you pick the right reports and integration them into the software build, the level of effort required to use these tools becomes very low (and we all know that developers are legendarily lazy).
Beyond test reports and self-describing-code there are many techniques and tools that you can use to find out if you are producing "quality" code. How do you get your code to talk to you? Continuous integration is all about automated feedback.