Java Project

From sselab

Revision as of 13:46, 18 February 2012 by Rumpe (Talk | contribs)
Jump to: navigation, search

Agile software development needs ever running integrated software. Tool support is essential. We provide the following services and are working on further ones, such as nightly build and automatic deployment of web systems that are developed. Coming soon.

Contents

Services involved

A number of additional services are available. Check out what you want to use, e.g. to generate code or tests.

Initial setup

  • Use the trac to plan your software project
    • Break your problem into several subproblems and create a ticket for each one of it
    • Create milestones for implementation of new features and releases of your software
  • Calculate various statistics of your implementation and publish it in the internal wiki for your project manager with the wikibot (advanced)

Advanced setup

  • Continous Integration with Jenkins ( [1] )
    • run the war Archive[2] or deploy it on your Glassfish or Tomcat server.
    • Now you can access Jenkins via the Homepage (e.g. http://localhost:8080/jenkins) configure generall settings and create your first Job. In Jenkins a Job is a Softwareproject that should be build.
    • Choose for your Job a Name and the "Free-Style" Type of the Job. After that step a new Job is created and you can configure this Job.
    • For "Source-Code-Management" choose Subversion. The Repository URL is something like: sselab.de/lab2/private/svn/<SSELAB-Prjoject-Name>/trunk/.
    • In the next two steps you have to configure when and how the Project should be compiled. For CI you should select "Poll SCM". If you want to compile your Sourcecode with Apache Ant, you can define the Ant targets and files under Build-Invoke Ant.
    • You can define some additional Post-build Actions like: run JUnit, measure Code Quality with Sonar, write some Emails.
  • Codemesurement with Sonar in Jenkins (general installation [3] )
    • To measure your code in Jenkins with Sonar you have to install Sonar [4].
    • After downloading your copy of Sonar, you can configure the basic sonar settings like the used DB-Server. Since the default settings meet our actual needs (and no external Database has to be configured) we can directly compile the war-Archive.
    • Do so with executing the build-war file in /sonar-2.1.13.1/war/ of the downloaded ZIP-Archive. As the next step you have to deploy that WAR-File on your JEE-Server. (Be advised that Glassfish and JBoss is not officially supported!)[5]
    • Now you can browse to your local Sonar installation (on e.g. http://localhost:8080/sonar).
    • In the next step you have to install the Sonar Plugin in your Jenkins, configure the Plugin in the global Jenkins settings (http://localhost:8080/jenkins/configure/ ) and activate that plugin for your job in Jenkins.
    • it might be neccessary for sonar to increase the available heapspace (see next section Improvements)
  • Improvements
    • increase available Heapspace for Jenkins and Sonar in Glassfish
    • configure Sonar with an external Database like Postgres or MySQL to gain more speed during Code measurement
    • secure Jenkins [6] and Sonar with username/password access
    • all processes started during a build of Jenkins are killed by Jenkins after the build, so be careful with starting anything that should run even after the build finishes [7]

Send feedback to extend this scenario

Please contact us if you have question concerning the usage of the services. We are also curious about new ideas for additional services and new usage scenarios. Send us a message over the contact form or write us an email