/* InfoAxon GA Code */
Alfresco One: Content Management in the Cloud (Part II)
December 18, 2012 – 1:55 pm | No Comment

Alfresco Universe has a number of client applications and protocols available which can be used by your external users making this a truly Cloud Content Enterprise Content Management System.
For example,

Alfresco iOS Client App: for iPhone …

Read the full story »
Home » Experiences, Innovations, Open Source for Business

Our CI Environment – Part 3

Submitted bySnig Bhaumik on December 1, 2011 – 11:54 amNo Comment

InfoAxon CI Server Snapshot

Jenkins is used to build, configure, test, validate, deploy and promote most of our solutions and frameworks in InfoAxon development environment.

Many plugins has been used (thanks to Jenkins community to provide such huge library of plugins). Some important plugins used are -

  1. Build Promotion plugin (http://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin) – for deploying and promoting builds to QA, UAT, LIVE server automatically.
  2. JIRA plugin (http://wiki.jenkins-ci.org/display/JENKINS/JIRA+Plugin) – for automatically updating JIRA tickets whenever a build has been made.
  3. NAnt plugin (http://wiki.hudson-ci.org/display/HUDSON/NAnt+Plugin) – in order to compile and use Microsoft .NET applications as well.
  4. Visual Sourcesafe plugin (http://wiki.hudson-ci.org/display/HUDSON/Visual+SourceSafe+Plugin) – to retrieve code base from VSS database.
  5. SSH Publisher plugin (http://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin) – to publish and deploy build artifacts on another server over SSH. Heavily used for Promotion purpose.
  6. Violations Plugin (https://wiki.jenkins-ci.org/display/JENKINS/Violations) – to report and display all code level rule violations.

The Project Dashboard shows (snapshot below) all information related to the particular job.

The Build Dashboard shows (snapshot below) information relevant for that particular build. You can see all the JIRA tickets are automatically linked here.

Build Promotion screen helps you to promote/deploy any build to any server such as Development server, QA server, UAT server or LIVE server.

Automatic checking of Best Practices Adherence, Coding mistakes, Potential Bugs etc are done by PMD, Checkstyle, Findbugs etc. All these tools are integrated in the project Ant build script (code segment below) – thus each time build is executed, these checkings are performed automatically, and alerts us in case of any issues.

<target name="sonar">
<property name="sonar.sources" value="............." />
<property name="sonar.projectName" value=".........." />
<sonar:sonar key=".........." version="............" xmlns:sonar="antlib:org.sonar.ant" />
</target>

<target name="checkstyle">
<cs:checkstyle config="checkstyle.xml" failureProperty="checkstyle.failure" failOnViolation="false" xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
<formatter type="xml" tofile="checkstyle_report.xml"/>
<fileset dir="..........." includes="**/*.java"/>
</cs:checkstyle>
</target>

<target name="findbugs">
<findbugs home="${findbugs.home}" output="xml" outputFile="report.xml" jvmargs="${jvmargs}">
<sourcePath path="..........." />
<class location="............." />
</findbugs>
</target>

The Violation screen displays the list of code rules violations in the current build.

We use Sonar to analyze the quality of the full source code.

Thus the full Continuous Integration eco-system in InfoAxon development environment provides us full flexibility and automatic execution on the compiling, debugging, testing, code validations, deployment, promotion tasks.

About The Author

Snig Bhaumik

Mr. Snigdhendu Bikas Bhaumik is the Technical Director and Heads the Research and Development for InfoAxon. As an Open Source enthusiast, Snig is an active contributor of several open source communities such as - Alfresco ECM (Author of Alfresco Calendar components now included and distributed in Alfresco version 3.0), Liferay Portal and Pentaho Business Intelligence Suite. Snig has just completed a book on Alfresco published by Packtpub - http://www.packtpub.com/alfresco-3-cookbook/book. Snig specializes in Knowledge Management and Business Intelligence domains, and responsible for designing and architecting InfoAxon’s KM and BI solution offerings. He holds an enriching experience of around 12 years in designing, architecting and developing various solutions on open source technologies. Follow him on twitter - @snigbb.

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.