Custom package repository structure
The HCL Commerce Build tool (WCB tool) can build applications for all four server types: the Transaction server, Store server, Search server, and Customization server. An example shows how you can build your own extensions using the HCL Commerce Build tool.
After you run the HCL Commerce Build tool to build packages, a ZIP package is generated for each server component. A single package includes only files for a single server component.
Customization deployment directory structure and Logic
At a high-level, HCL Commerce Version 9.1 uses build and deployment logic, that is based on the HCL Commerce build and deployment tool from earlier versions. The build logic remains similar to the build processes from earlier versions. The deployment logic however, is now separated from the build processes to better function with Docker technology.
Within HCL Commerce, Docker technology is used to improve the efficiency of operations. However, due to the structure of the included Docker containers, the packages that you need to create to deploy custom code and other files into these containers need to be organized according to a specific file structure. Your packages also need to be built and deployed using specific logic.
When you are packaging your custom code and other files for deployment to Docker containers, you must use the HCL Commerce build process to ensure that your packages can be deployed successfully to your HCL Commerce. For more information about the actual HCL Commerce build process, see Configuring and building packages.
- Transaction server(ts-app)
- Search server (search-app)
- Store server (crs-app)
- Customization server (xC-app)
Repository structure for building server packages
After you run the WCB utility to build a customization package, you get a compressed ZIP file with the packaged code.
Review the information in the following topics about what is included in the package and what happens to the files when you deploy to your Docker images.
- Transaction server
- Repository structure for building Transaction server (ts) packages
- Store server
- Repository structure for building Remote stores (crs) packages
- Transaction server
- Repository structure for building Search server (search) packages
- Customization server
- Repository structure for building Commerce UE (xc) packages
Building database asset packages
For data, you do not need to specify the assets to be built. You only need to put your data files into related directories (sql, xml, dataload, acug, acp, acpnls). For the details of file structures, see HCL Commerce Build tool repository structure.
General deployable package file structure
When your run a build process, the optional Certs and DeployScripts folders are not created by default. If you need to deploy certificates to a server or define custom deployment logic, update the HCL Commerce build scripts to generate these folders and to package your corresponding files within these folders.
Building a custom Docker image with a deployable package
- Create a folder named CusDeploy
- Extract your custom package within the CusDeploy folder.
- Create a file named Dockerfile on the same path as the CusDeploy folder, such as within the same parent folder.
- Write your Dockerfile to include the following
content:
For releases of HCL Commerce 9.1.0.0 to 9.1.13.0:FROM Target_Component_Docker_Image COPY --chown=comuser:comuser CusDeploy /SETUP/Cus RUN /SETUP/bin/applyCustomization.sh optional_commands
FROM Target_Component_Docker_Image COPY CusDeploy /SETUP/Cus RUN /SETUP/bin/applyCustomization.sh optional_commands
- Run the Docker build command from the same folder where your Dockerfile is
placed:
docker build -t new_Docker_image_name:tag .
Customizing the Certs folder
Certs and DeployScripts are not mandatory folders in the package. You can include third-party certificates for integration purposes in the Certs folder. HCL Commerce Version 9 supports loading third-party certificates from a remote site to a Docker container during startup, and packaging the third-party certificates in the customization package. When you build the customized Docker image, those certificate files are copied to the /SETUP/certs/custom directory.
Customizing the DeployScripts folder

Sample repository structure
These examples are for reference only, intended as a starting point to help you to set up your own build environment.