Skip to content

Building Oracle 10g portlets in a continuous integration environment

Ignoring all the hints (to use wizards and manual deployments) from the Oracle information as to how to go about creating JSR168 portlets for the Oracle 10g Portal server, we have successfully designed a continuous integration environment for the Oracle portal environment for a client. The Oracle 10g portal server is the old-school Oracle app-server portal environment, not the BEA environment. As such it’s pretty old school (the database is the World), but it did surprise us with a command line utility (‘dcmctl‘) that allows us to programmatically deploy components such as portlet WARs into the application server using nothing but simple shell scripts. Unfortunately no such programmatic control has been found yet for the actual portal configuration, but we are working on that (if you know how to programmatically control the configuration of an Oracle 10g Portal with the command line please leave a comment!).

Simply put, using nothing but a /bin/bash script and wget we scrape the latest version of the relevant artefacts from the Artifactory Maven repository. These artefacts are deployed (published) into the repository by the Hudson continuous integration build.

As they say, a picture tells a thousand words and I’ve included a schematic of the environment we have created below (image links to PDF).