Setting Up Continuous Integration

From sselab

(Difference between revisions)
Jump to: navigation, search
(Manuall Installation)
Line 4: Line 4:
== Manuall Installation ==
== Manuall Installation ==
 +
 +
* Getting a server for your Continuous Integration
 +
** Inside the RWTH you can order a virtual Maschine from the NOC [http://www.rz.rwth-aachen.de/ca/k/sec/lang/de/ Hosting of institute servers] and [https://www.campus.rwth-aachen.de/rzshop/bestellen/index.php RZ-Shop]
* Continous Integration with Jenkins ( [https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins] )
* Continous Integration with Jenkins ( [https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins] )

Revision as of 13:45, 15 March 2012

About Continuous Integration

Manuall Installation

  • 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]

Automated Usage

  • Coming soon as a Sselab service