Generate deployment patterns

The generateImages.sh script allows you to build independent images for each application.

The --WAR_FILES argument of generateImages.sh supports comma (,) for the separated list of applications. For grouping the applications, it supports colon (:).

For example, consider --WAR_FILES=smcfs,sbc:wsc,sma:isccs that results in the following images:
  • om-app image that contains smcfs and sbc WAR files
  • om-app-sma_wsc image that contains wsc and sma WAR files
  • om-app-isccs image that contains isccs WAR files

Image naming convention

With reference to the example provided in the previous sections, the following naming convention is used for the generated images:
  • The name for images that contain smcfs WAR file is always om-app, irrespective of how many WAR files are combined with it so that the images generated are backward compatible in terms of the image name.
  • The name for images that contain WAR files other than smcfs WAR is computed by combining alphabetically sorted WAR file names with an underscore (_) and appended to the name om-app with a hyphen (-). For example, the group wsc,sma,isccs results in an image named om-app-isccs_sma_wsc.

Optimizing om-app image layers

The image build process has been optimized to build images with a specific structure, such that the overall image size is reduced even though multiple om-app images are built.

An intermediate image is built that contains all the common content for the om-app images. This intermediate image is used to build the final om-app images that results in reduced overall image download size.

The om-app image layer optimizations offer the following benefits:
  • Saves the build time by pulling the Liberty image only once.
  • Saves space by combining Liberty dependencies along with the application libraries (JARs) into a single intermediate image.
  • Improves the application deployment time as the libraries are present in their own image layer and shared across different application images.