Thursday, May 19, 2011

ALM with Oracle Team Productivity Center, OpenFire and Hudson

Applies to: JDeveloper 11.1.1.2+, OTPC 11.1.1.2+

Introduction

Since JDeveloper 11g does not provide integration with Hudson CI Server I came up with the idea to use the chat component of Oracles Team Productivity Center Plugin in combination with OpenFire (XMPP Server) and hudson ci on your build server with IM plugin. The main aim is to be able to start builds from the jdeveloper IDE and also get informed if a build currently is running.

Prepare

  1. Install OpenFire and create some test users + a user that acts as Hudson CI bot (See http://www.igniterealtime.org/projects/openfire/)
  2. Install Oracle Team Productivity Center Plugin in JDeveloper
  3. Install Hudson CI Server with the following plugins
    1. Instant Messaging Plugin
    2. Jabber Plugin
  4. Configure Hudson as follows (Hudson > Manage Hudson > Confgure System)
    0002@1721_1721-4126687cbb0eca86

Test Drive

  1. Setup Build-Job with Hudson as follows
    0003@1721_1721-4126687cbb8fbd40
  2. Open JDeveloper and connect with open fire by clicking (View->Team->Chat)

0001@1721_1721-4126687ca98bf259

Now try to start a build by entering

!build <jobname>

0000@1721_0-4126646abf561784

Benefits

- Keeps Focus on Coding in JDeveloper. And so => Minimizes human context switches!

- Developers get instantly informed by the chat what's going on on the build server

- Developers are able to schedule jobs from JDeveloper

- The status of Hudson is transparent for everyone as it appears in your buddy list. If not you immediatly know that there is something wrong: server down, hudson not running, etc..

Cool stuff!