Software development tool suite

Thomas Einwaller
20. Oktober 2009

Within the last days we brought systems around our software development process to a whole new level.

Since the last years we were using various open source tools for different tasks company. For bug/issues tracking we used bugzilla for many projects and trac for the development of our time tracking system timr. The nice thing about trac was the integrated wiki which was used for documentation. We additionally ran a media wiki instance for storing company internal documents.

Two weeks ago a tweed of Michael Plöd made me aware of the new starter license model of Atlassian. They are now selling their products with 10$ licenses for startups with up to ten users. This was perfect for the size of our team. So we bought the whole set:

  • JIRA – issue tracking
  • Confluence – Wiki system
  • crowd – user management and single sign on
  • fisheye – source code explorer
  • bamboo – continuous integration server
  • greenhoper – JIRA plugin for agile software development

The whole install process is covered in a guide named the Atlassian Dragon Quest where every level of the quest relates to installing on of the products. It took about two days to install all of the components and to integrate them with each other but the effort was definitely worth it.

We decided to not follow the guide in two things:

– we used our existing MySQL server instead of the recommended PostgreSQL
– we wanted to install the applications as WAR files into our existing Tomcat server

Using MySQL instead of PostgreSQL was no problem at all. We just created databases and corresponding users for all the products and configured them in the setup wizards.

Unfortunately not all the products are available for WAR/EAR installation. Fisheye has to run as a separate instance in its own Java VM. Additionally we ran into a kind of dead lock when we tried to connect JIRA and bamboo as described in the setup guide when they were running in the same tomcat instance. The JIRA bamboo plugin tries to contact bamboo on startup and gets no response because the tomcat is not started.

After all the new systems were running we started to migrate the old content. We were very happy about the mechanism JIRA provides for importing bugzilla issues. Everything we had to do was to define the MySQL database connection and to answer some questions of the import wizard.

Getting the tickets from trac into JIRA was a bit more difficult because we were using MySQL for trac too instead of sqlite. We had to adapt the perl scripts of trac-to-jira-migrate for using the MySQL database.

Thanks to the Universal Wiki Converter importing the content from media wiki and trac worked like a charm.

The last setup step we made was to use crowd as authentication service for apache and subversion. Therefor we installed
the Crowd Apache Connector and followed the detailed descriptions in the crowd documentation.

Stay tuned for some experience reports which will follow.