Ear file deployment to Websphere Cluster

Steps to perform an Ear file deployment

Steve Taylor provides tips on setting up and Ear file deployment

I am often asked how to standardize a ear file deployment around a WebSphere Cluster.  Deploying an ear file to a cluster can present challenges, particularly when attempting to accomplish the task with one-off deployment scripts written in any number of scripting languages.  In this example, I am using the defined logic with our Release Engineer Continuous Deploy solution, designed to standardize the application release automation process.  This logic can be called by any external process such as a Jenkins continuous integration workflow, or CloudBees Continuous Delivery pipeline process.

Whatever you may be using to orchestrate the calling of your deployment does not matter much. What matters is the ability to create a reproducible ear file deployment that all team members, from development to operations, can understand and track.

Here are the steps I use to deploy an Application to a Websphere Cluster.

  1. Get a list the Servers that belong to the Cluster
  2. Loop through the list of Servers in the Cluster
    1. Stop the App on each server
  3. Remove the App
  4. Install the App
  5. Apply warClassLoaderPolicy updates
  6. Apply classLoader updates
  7. Apply startingWeight
  8. Loop through the list of Servers in the Cluster and apply the following if changed
    1. Stop the Server
    2. Apply genericJvmArguments
    3. Apply initialHeapSize
    4. Apply maximumHeapSize
    5. Apply customProperty
    6. Apply websphereVariables
    7. Start the Server
  9. Loop through the list of Servers in the Cluster
    1. Start the Server if needed
    2. Start the App on the Server if needed

The stopping and re-starting of the Server is only needed if genericJvmArguments, initialHeapSize, maximumHeapSize, customProperty, websphereVariables values have changed. Otherwise, the servers can be left running saving total deployment time.  If you are using Jenkins, our plug-in can be downloaded from RE Jenkins Plugin – https://github.com/OpenMake-Software/ReleaseEngineer/releases/download/7.5.1/release-engineer.hpi

Make sure to check if something is stopped or started prior to stopping or starting it, this will prevent errors from being thrown.  Of course you can do similar processing for a War file.  Below is an example of the workflow logic in a Release Engineer graphical representation.


application release automation for war or ear file deployment

War file deployment workflow

Leave a Reply

Your email address will not be published. Required fields are marked *