The following installation was tested with IBM WebSphere (WAS) v6.1 ND.
You need Hudson 1.197 or later to run on WAS!
There are two ways to install hudson on WAS - manually through the Admin console or automated through the WAS scripting interface.
Admin console installation
The installation instructions are simple as for each WAR Module.
- Start the installation wizard under Applications - Install new application.
- Select hudson.war and enter the context root for the application - for example hudson
After finishing the wizard go to the installed application (hudson_war for example) and perform the following steps to change the classloader mode:
- Click Manage Modules
- Click Hudson
- From the "Class loader order" drop-down select "Classes loaded with application class loader first"
- Save the changes
- Restart the server - this is necessary to apply the changed class loader mode. You need to restart only the server onto which hudson is installed
Installing through wsadmin
Before running hudson.jacl make the necessary changes in the config.properties file - adjust the server envoronment, the context root, the virtual host mapping and optional the hudson home directory. After that run following command from the deployment manager bin directory:
where the <command> is:
- deploy - use it for first time installation. it performs installation only
- redeploy - use it to upgrade hudson. It uninstalls previously installed hudson instance and installs the new version from the hudson.war
- undeploy - use to uninstall hudson. In this case the last parameter is not necessary.
The paths must be provided in UNIX style even on Windows - d:/test/hudson/hudson.war instead of d:\test\hudson\hudson.war
After successfully installation the server must be restarted manually - the script doesn't provide this functionality at the moment, but the stopServer and startServer commands can be used for this purpose.
If security is enabled on the server either provide -user and -password arguments to the command or adjust the soap.client.props file with the login information in order to be able to connect to the server's admin interface.
The script is not tested with the base server edition, but should work on it - the only change is to disable the node synchronization in the saveConfigAndSync procedure - the line to comment can be found in hudson.jacl - search for BASE or for saveConfigAndSync.
CVS SSH Authentication
For CVS ssh authentification following environment entry is required in the application server: CVS_RSH=ssh. This can be set in the admin console in:
Application Servers / <server> / Java and Process Management / Process Definition / Environment Entries
Important: hudson versions between 1.197 and 1.237 will not run on WebSphere !!! see hudson: issue 1680
Changing the WAR file to reference the newest dom4j library (see hudson: issue 1680):
- Unpack hudson.war and navigate to WEB-INF/lib directory.
- Download dom4j-1.6.1.jar and copy it to the WEB-INF/lib directory.
- Delete dom4j-1.5.jar
- Zip the war file again.
Following steps should be done upgrading running hudson instance:
Do not remove dom4j-1.6.1-hudson-1.jar!
- Backup the current configuration
- Redeploy hudson with the provided scripts as follows:
Edit config.properties to the environment and run (see Installing through wsadmin above for further information):
The above command assumes that wsadmin.sh is in PATH and hudson.jacl, config.properties and hudson.war are in the current dir.
- Restart the application server.
As of version 1.23x? hudson provides update center. In order to be able to use it with the WebSphere's JDK a trusted certificate must be imported in the server's keystore. To acomplish this following steps are necessary:
- Download the RapidSSL root certificate from here
- Import the certificate using the keytool command:
<server_trust.p12> points to the trust.p12 file of the server on which hudson is running. It is found in <WAS_Install_Dir>/profiles/<profile>/config/cells/<cellname>.
The command uses the default WebSphere password for the keystore file - if it has been changed change the command accordingly.
Issuing the command brings a message that the certificate is found in the system wide keystore - confirm with yes that it should be added.
After importing the certificate the application server must be restarted (this should be done after upgrading hudson, too). After that it should be possible to upgrade your plugins from the Update Center in hudson.
Last note: some links in hudson seem brocken in WebSphere, but there is usually either another way to access them or it is intuitive to correct the URL in the address bar. It is not critical problem, thus no time to investigate it further...