In this post I cover how I have integrated Trac and Jenkins using HudsonTracPlugin and Jenkins Trac Plugin. I am running both Trac and Jenkins on a Raspberry Pi 2.
Trac Plugin
The Trac Plugin is a plugin for Jenkins that creates links from Jenkins projects to Trac instances.
As an example, if you committed a change with the following log message:
- changeset committed,
- files changed, and
- diff of the changes for each changed file.
Installation involved browsing to Jenkins->Manage Jenkins->Manage Plugins->Available, selecting Available Plugins and then checking the Edgewall Trac Plugin.
The plugin is then configured as part of a build configuration
As simple as that, references to changesets and ticket numbers are now shown as hyperlinks and there is a link from the build page back to trac.
HudsonTracPlugin
The HudsonTracPlugin is a Trac plugin that includes Jenkins build results into the Trac timeline and (optionally) provides a navbar menu to link to the Jenkins instance.
As a newbie I found the documentation for installing this plugin to be somewhat limited. It was actually remarkably easy.
The first step is to install the plugin which is written in python using easy_install, so in a terminal session to the RPi
sudo easy_install https://trac-hacks.org/svn/hudsontracplugin/0.10/
This gave the following output
Downloading https://trac-hacks.org/svn/hudsontracplugin/0.10/
Doing subversion checkout from https://trac-hacks.org/svn/hudsontracplugin/0.10/ to /tmp/easy_install-xAXEIt/0.10
Processing 0.10
Running setup.py -q bdist_egg –dist-dir /tmp/easy_install-xAXEIt/0.10/egg-dist-tmp-vkGSex
unrecognized .svn/entries format; skipping .
unrecognized .svn/entries format in
zip_safe flag not set; analyzing archive contents…
Adding HudsonTrac 0.5-r0 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/HudsonTrac-0.5_r0-py2.7.egg
Processing dependencies for HudsonTrac==0.5-r0
Finished processing dependencies for HudsonTrac==0.5-r0
I then chose to reboot my RPi, I suspect I could have just restarted apache.
Using a browser I then went to the Trac Admin->Plugins page, HudsonTrac 0.5-r0 was now listed, I enabled it and Applied Changes as shown.
Finally I logged back in to the RPi and edited trac.ini
sudo vi /var/trac/projects/prod/conf/trac.ini
I added the following to the end of the file
[hudson]
alternate_success_icon = true
api_token =
display_build_descriptions = false
display_building = true
display_culprit = false
display_in_new_tab = false
display_modules = false
job_url = http://192.168.0.34:8080/
list_changesets = true
main_page = http://192.168.0.34:8080/
password =
timeline_opt_label = Builds
username =