Package structure of customized code
After running the WebSphere Commerce Build tool, a ZIP package is generated for each server component.
Package structure
Refer to the following for details about the package structure. The descriptions in parenthesis explain how files in the ZIP package are processed after you build the custom Docker images as described in Building custom Docker images based on customization packages.Note: A single package includes only files for a single server component. The following structure provides a holistic view and explanation of the file structure. However, files for multiple components are not packaged in a single ZIP file in a real package.
+ Code |--search-app |----search-config.jar (applyCustomization.sh copies the JAR file to the lib folder in search.ear.) |--xc-app |--ts-app (applyCustomiazion.sh calls the WAS admin command to deploy ts-app. ) |-- lib |---- xxx.jar (applyCustomization.sh places any JAR files in this directory in ts.ear/lib.) |-- ejb |---- xxx.jar (applyCustomization.sh calls the wsadmin script to update the ejb model for the WebsphereCommerceExtentionData.jar file.) |-- xxx.jar (applyCustomization.sh places any JAR files in this directory in ts.ear.) |-- xxx.war (applyCustomization.sh copies and replaces files in the xxx.war folder.) |--crs-app |----wc-web.war (applyCustomization.sh unpackages crs.ear, replaces the wc-web.war file, and repackages files as crs.ear.) +DataLoad |--sql |--common |--xxx.sql |--xml |--common |--xxx.xml |--dataload |--common |--wc-dataload-xxx.xml |--xxxxx.xml |--acug |--common |------xxUserGroups_en_US.xml |------xxxxx.dtd |--acp |--common |------xxAccessControlPolicies.xml |------xxxxx.dtd |--acpnls |--common |------xxAccessControlPolicies_en_US.xml |------xxxxx.dtd + Config | --search-app | -- search-runtime | -- xc-app | -- ts-app (applyCustomization.sh copies folders in this directory to /SETP/app/customization.) |---config |---member + Certs | -- <component-name> ( The value can be search-app, xc-app, ts-app, or crs-app.) | --------xxx.json ( Includes privatekey, issue-ca, certification, and keystorepass.) | --------xx1.json ( We can include more certification JSON files.) + DeployScripts (This package is not to be generated with the WebSphere Commerce Build Tool. To include it in the ZIP file, you need to customize the WebSphere Commerce Build Tool scripts.) | -- <component-name> (The value can be search-app, xc-app, ts-app, or crs-app.) | ------ applyDeployScripts.sh (We can add extended deployment logic in this file. applyCustiomization.sh calls applyDeployScripts.sh to deploy additional customization files on the target Docker container.) | ------ xxxxxx (Includes more files or folders that need to be handled by applyDeployScripts.sh. applyDeployScripts.sh places these files and folders according to the strcuture provided in the Docker container.)
Note: Certs and DeployScripts are not mandatory folders in the package. We can include third-party certificates for integration purposes in the Certs folder. We can include the customized deployment logic in the Deployscripts folder. To package these two folders in the final ZIP file, customize the WebSphere Commerce Build Tool scripts.
Customizing the Certs folder
WebSphere 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
We can package you customized JAR files or scripts to the DeployScripts folder, and write the deployment logic into applyDeployScripts.sh.
Related reference
Packaging configuration properties
Security-sensitive build configuration properties