HCL Commerce Version 9.0.1.16 or later

Updating IBM software in the HCL Commerce Web server Docker images (9.0.1.16+)

To ensure that your site remains up-to-date with any important fixes that are delivered subsequent to the latest HCL Commerce release, or to continue to use older HCL Commerce release images, this group of tasks can be used to manually rebuild custom images to include important IBM stack updates. Web server Docker images include the Transaction web Docker container (ts-web), Tooling Web Docker container (tooling-web), and the Store web Docker container (store-web).

Before you begin

Review Updating IBM software in HCL Commerce Docker images (9.0.1.16+) for important notes, prerequisites, and contextual information about this task.

Procedure

  1. Download and extract the sample Dockerfile scripts and Installation Manager response files into the directory where you build your images.
    These sample archives place template Installation Manager response files in the correct directories. The archive also contains unique sample Dockerfiles for each stack item to illustrate how to integrate response files for each type of upgrade into the Dockerfile.

    For the Transaction Web server, a Dockerfile is constructed from these samples.

    The Dockerfile additions can be used to install:
    • An IBM HTTP Server and Web Server Plug-ins fix pack.
    • One or more IBM HTTP Server and/or Web Server Plug-ins interim fixes.
    • An update to the IBM HTTP Server and Web Server Plug-ins IBM Java SDK.
    To update an image with multiple items, the associated Dockerfile will both download and extract each package individually, and then call Installation Manager multiple times to install them.
  2. For each WebSphere Application Server fix pack, interim fix, or Java SDK update, edit the associated Installation Manager response file.
    These files contain a <repository> section that describes the location of the specific installation file, and an <install> section, which includes the specific instructions to Installation Manager on what to install within the container. Each product requires this section to correctly reference its version or ID, and its features.

    Once created, the name and locations of these files will be referenced within your Dockerfile.

    1. Uncomment and configure the <repository> section.
      Point the location of the repository to the unique directory within the image where your package will be extracted to.
      For example:
      <repository location='/SETUP/tmp/packages/9.0.5-WS-IHSPLG-FP020/'/>
      Note: The extracted package creates a directory with a name that is the same as the package archive name. Do not include any file extensions.
    2. Uncomment and configure the <offering> section.
      This is unique to each WebSphere Application Server fix pack, interim fix, or IBM Java SDK update, and must align with the specific package that is set as the repository. The following table highlights the different profile requirements for fix packs, interim fixes, and IBM Java SDK updates. You can obtain the value for version or id by extracting each update package and examining repository.xml.
      Prerequisite product Configuration
      IBM HTTP Server and/or Web Server Plug-ins
      • To apply a fix pack for both the IBM HTTP Server and Web Server Plug-ins, include the following, and modify the values for version.
        • <offering profile='IBM HTTP Server V9.0' id='com.ibm.websphere.IHS.v90' version='9.0.50020.2024xxxx_xxxx' features='core.feature'/>
          
        • <offering profile='Web Server Plug-ins for IBM WebSphere Application Server V9.0' id='com.ibm.websphere.PLG.v90' version='9.0.50020.2024xxxx_xxxx' features='core.feature'/>
      • To apply an IBM Java SDK update for both the IBM HTTP Server and Web Server Plug-ins, include the following, and modify the values for version.
        • <offering profile='IBM HTTP Server V9.0' id='com.ibm.java.jdk.v8' version='8.0.8025.2024xxxx_xxxx' features='com.ibm.sdk.8'/>
        • <offering profile='Web Server Plug-ins for IBM WebSphere Application Server V9.0' id='com.ibm.java.jdk.v8' version='8.0.8025.2024xxxx_xxxx' features='com.ibm.sdk.8'/>
      • To apply an interim fix for only the IBM HTTP Server, include the following, and modify the value for id.
        <offering profile='IBM HTTP Server V9.0' id='9.0.5.9-WS-WASIHS-MultiOS-IFPH40343'/>
        Note: You can include additional lines in order to apply multiple interim fixes.
      • To apply an interim fix for only the Web Server Plug-ins, include the following, and modify the value for id.
        <offering profile='Web Server Plug-ins for IBM WebSphere Application Server V9.0' id='9.0.5.9-WS-WASIHS-MultiOS-IFPH99999'/>
        Note: You can include additional lines in order to apply multiple interim fixes.
  3. Create or modify your Transaction Web server image Dockerfile.
    Using the following as a template, create or modify your Dockerfile and include values to conform to your prerequisite software update requirements.

    For each update within the image, ensure that you duplicate and modify the download, extraction, and installation steps.

    For example, if you are including a fix pack, two interim fixes, and an SDK update, there will be a total of four separate wget, unzip, and installation commands.

    # Switch to root user
    USER root
    
    # Using current image
    FROM commerce/image-name:9.0.1.x
    
    # Copy the tmp directory
    COPY SETUP/ /SETUP/
    
    # Create and enter temporary directory
    RUN mkdir -p /SETUP/tmp/packages/ && \
    cd /SETUP/tmp/packages/ && \
    
    # Download update package
    wget --user=username --password=password ftp://FTP-Server-URL/location-to-file/filename.zip && \
    
    # Extract update package to temporary directory
    unzip /SETUP/tmp/packages/filename.zip -d /SETUP/tmp/packages/filename && \
    
    # Install update package
    /opt/WebSphere/IM/eclipse/tools/imcl input /SETUP/ihspluginsResponseFile/install-file.xml -log /SETUP/ihspluginsResponseFile/install-file-log.log -acceptLicense && \
    
    # Delete temporary directory
    rm -rf /SETUP/tmp/ && \

    1. Verify the running version of the updated prerequisite software.
      Prerequisite product Version verification command
      IBM HTTP Server and Web Server Plug-ins
      • To verify a fix pack:
        cd /opt/WebSphere/HTTPServer/bin
        ./versionInfo.sh
      • To verify an interim fix:
        cd /opt/WebSphere/HTTPServer/bin
        ./versionInfo.sh -ifixes
      • To verify the IBM Java SDK:
        cd /opt/WebSphere/HTTPServer/java/8.0/bin
        ./java -version

Results

Your new custom Docker images are generated, containing updated stack software. You must repeat this process for each HCL Commerce image with IBM software in your deployment. Then, you must fully test and deploy these images into your production environment.

What to do next

Update your Liberty-based Docker images via the same procedure.