Sample WebSphere Commerce Build tool configuration
The WebSphere Commerce Build tool tool can build applications for all four server types:
- Transaction server
- Store server
- Search server
- Customization server
For examples, see WCB_sample.zip and xc.zip.
Build for the Transaction server (ts)
Build properties for a Transaction server package: build-buildtype-ts.properties.
- ejb.module.list=WebSphereCommerceServerExtensionsData
- java.module.list=WebSphereCommerceServerExtensionsLogic
- web.module.list=CommerceAccelerator
- ear.dir.includes=lib/**,properties/**,xml/**
The following table illustrates what is packaged into the output ZIP file built for the Transaction server.
Folders from the workspace Folders in the output ZIP file Description WC Code/ts-app/ EAR project WC/lib Code/ts-app/lib/
- Third party java libraries
- JAR files under this path will be copied to ts.ear/lib in the Transaction server Docker image.
WC/properties Code/ts-app/properties/ Properties files under this path will be copied to ts.ear/properties in the Transaction server Docker image. WC/xml Code/ts-app/xml/ Configuration files under this path will be copied to ts.ear/xml in the Transaction server Docker image. WebSphereCommerceServerExtensionsData Code/ts-app/ejb/WebSphereCommerceServerExtensionsData.jar
- EJB extensions project
- Will invoke wsadmin scripts to update the EJB model for WebSphereCommerceExtensionData.jar
WebSphereCommerceServerExtensionsLogic Code/ts-app/WebSphereCommerceServerExtensionsLogic.jar
- Java extensions project, src, and configFiles.
- Will be copied to relative path under ts.ear in the Transaction server Docker image.
CommerceAccelerator Code/ts-app/CommerceAccelerator.war
- Custom assets for WebSphere Commerce Accelerator: only modified files should be present.
- Will copy and replace any existing files under the WAR folder in the Transaction server Docker image.
Define logic to determine where to pull the certificates. Certs/ts-app This folder does not get packaged by default. To import our own certificates, define the certificates in a JSON file and implement custom WCB logic to package the JSON files into this folder. If this Certs folder exists in the build package, then the JSON files are copied to the /SETUP/certs/custom directory of the target Docker image. Define logic to determine where this folder exists in your workspace. DeployScripts/ts-app This folder does not get packaged by default. To package custom start up scripts, implement custom WCB logic to package our assets into this DeployScripts folder. DeployScripts/ts-app/custConfiguration.sh This file does not exist by default. If we create our own custom Docker container start up logic, we must use this file name. IBM logic looks for this script to invoke our custom start up logic. Create logic in the applyDeployScripts.sh to copy custConfiguration.sh into the /SETUP/bin directory of the Transaction Server Docker image. DeployScripts/ts-app/applyDeployScripts.sh This script does not exist by default. Create this applyDeployScripts.sh script and define logic to copy our custom assets from DeployScripts folder into the desired locations in the target Docker image. DeployScripts/ts-app/*** This represents our own folders or files that are needed for our unique customizations. We can include any assets that we might need to suit your special requirement. For example, to deploy custom Run Engine command logic, we can put our custom scripts, classes, or JAR files here and then define logic in the applyDeployScripts.sh file to determine what to do with these custom assets.
Build for the Search server (search)
Build properties for a Search server package: build-buildtype-search.properties.
- java.module.list=search-config-ext, search-logic-ext
whe following table illustrates what is packaged into the output ZIP file built for the Search server.
Folders from the workspace Folders in the output ZIP file Description search-config-ext/ Code/search-app/search-config-ext.jar Java module containing custom configuration files. All JAR files under the search-app directory will be copied to the search-ear.ear/lib folder in the search-app Docker image. search-logic-ext/ Code/search-app/search-logic-ext.jar Java module containing custom configuration files. All JAR files under the search-app directory will be copied to the search-ear.ear/lib folder in the search-app Docker image. Define logic to determine where to pull the certificates. Certs/search-app This folder does not get packaged by default. To import our own certificates, define the certificates in a JSON file and implement custom WCB logic to package the JSON files into this folder. If this Certs folder exists in the build package, then the JSON files are copied to the /SETUP/certs/custom directory of the target Docker image. Define logic to determine where this folder exists in your workspace. DeployScripts/search-app This folder does not get packaged by default. To package custom start up scripts, implement custom WCB logic to package our assets into this DeployScripts folder. DeployScripts/search-app/custConfiguration.sh This file does not exist by default. If we create our own custom Docker container start up logic, we must use this file name. IBM logic looks for this script to invoke our custom start up logic. Create logic in the applyDeployScripts.sh to copy custConfiguration.sh into the /SETUP/bin directory of the Transaction Server Docker image. DeployScripts/search-app/applyDeployScripts.sh This script does not exist by default. Create this applyDeployScripts.sh script and define logic to copy our custom assets from DeployScripts folder into the desired locations in the target Docker image. DeployScripts/search-app/*** This represents our own folders or files that are needed for our unique customizations. We can include any assets that we might need to suit your special requirement. For example, to deploy custom Run Engine command logic, we can put our custom scripts, classes, or JAR files here and then define logic in the applyDeployScripts.sh file to determine what to do with these custom assets.
Remote stores (crs)
Build properties for a Store server package: build-buildtype-crs.properties.
- web.module.list=crs-web
java.module.list=crs-extensions-logic This project is used to customize java code for the crs-web store.
The following table illustrates what is packaged into the output ZIP file built for the Store server.
Folders from the workspace Folders in the output ZIP file Description crs-web/ Code/crs-app/crs-web.war:/ Web module for remote stores, only custom files should be present. Will unzip crs.ear in the Store server Docker image, replace existing wc-web.war, and then repackage crs.ear crs-web/src/ Code/crs-app/crs-web.war:/WEB-INF/classes/ Custom Java classes for the web module. crs-web/WebContent/ Code/crs-app/crs-web.war:/ Web content files for the web module. crs-web/WebContent/META-INF/ Code/crs-app/crs-web.war:/META-INF/ Meta info files. crs-web/WebContent/WEB-INF/ Code/crs-app/crs-web.war:/WEB-INF/ Web Info files. crs-extensions-logic
Code/crs-app/lib/crs-extensions-logic.jar
Create a java utility project in the Store server to hold java customization code (Such as a JSTL tag library, ServletFilter, Listener or Spring MVC). The project can also hold custom resources in a manner similar to the Transaction server and Search server.
Define logic to determine where to pull the certificates. Certs/crs-app This folder does not get packaged by default. To import our own certificates, define the certificates in a JSON file and implement custom WCB logic to package the JSON files into this folder. If this Certs folder exists in the build package, then the JSON files are copied to the /SETUP/certs/custom directory of the target Docker image. Define logic to determine where this folder exists in your workspace. DeployScripts/crs-app This folder does not get packaged by default. To package custom start up scripts, implement custom WCB logic to package our assets into this DeployScripts folder. For more information about implementing custom WCB logic,
DeployScripts/crs-app/custConfiguration.sh This file does not exist by default. If we create our own custom Docker container start up logic, we must use this file name. IBM logic looks for this script to invoke our custom start up logic. Create logic in the applyDeployScripts.sh to copy custConfiguration.sh into the /SETUP/bin directory of the Transaction Server Docker image. DeployScripts/crs-app/applyDeployScripts.sh This script does not exist by default. Create this applyDeployScripts.sh script and define logic to copy our custom assets from DeployScripts folder into the desired locations in the target Docker image. DeployScripts/crs-app/*** This represents our own folders or files that are needed for our unique customizations. We can include any assets that we might need to suit your special requirement. For example, to deploy custom Run Engine command logic, we can put our custom scripts, classes, or JAR files here and then define logic in the applyDeployScripts.sh file to determine what to do with these custom assets.
Commerce UE (xc)
Build properties for a Customization server package: build-buildtype-xc.properties.
- web.module.list=commerceue-app
- web.src.dir=src/main/java
- web.resource.dir=src/main/resources
The following table illustrates what is packaged into the output ZIP file built for the Customization server.
Folders from the workspace Folders in the output ZIP file Description commerceue-ear/src/main/application/ Code/xc-app/ EAR level files. All files under commerceue-ear will be copied to the relative directory in the commerceue-ear.ear in the Customization server Docker image. commerceue-ear/src/main/application/lib Code/xc-app/lib Java libraries for the EAR commerceue-ear/src/main/application/META-INF/ Code/xc-app/META-INF/ Meta info for the EAR commerceue-app/src/main/java/ Code/xc-app/commerceue-app.war:/WEB-INF/classes Java source file directory All files under commerceue-app will be copied to the relative directory in the commerceue-ear.ear/commerceue-ear.ear/commerceue-app.war in the Customization server Docker image. commerceue-app/src/main/resources/ Code/xc-app/commerceue-app.war:/WEB-INF/classes Java resource file directory, especially property files commerceue-app/WebContent/ Code/xc-app/commerceue-app.war:/ Web content commerceue-app/WebContent/WEB-INF/ Code/xc-app/commerceue-app.war:/WEB-INF/ WEB-INF directory commerceue-app/WebContent/swagger/ Code/xc-app/commerceue-app.war:/swagger/ Swagger web app files commerceue-app/WebContent/META-INF Code/xc-app/commerceue-app.war:/META-INF/ Web meta information directory Define logic to determine where to pull the certificates. Certs/xc-app This folder does not get packaged by default. To import our own certificates, define the certificates in a JSON file and implement custom WCB logic to package the JSON files into this folder. If this Certs folder exists in the build package, then the JSON files are copied to the /SETUP/certs/custom directory of the target Docker image. Define logic to determine where this folder exists in your workspace. DeployScripts/xc-app This folder does not get packaged by default. To package custom start up scripts, implement custom WCB logic to package our assets into this DeployScripts folder. DeployScripts/xc-app/custConfiguration.sh This file does not exist by default. If we create our own custom Docker container start up logic, we must use this file name. IBM logic looks for this script to invoke our custom start up logic. Create logic in the applyDeployScripts.sh to copy custConfiguration.sh into the /SETUP/bin directory of the Transaction Server Docker image. DeployScripts/xc-app/applyDeployScripts.sh This script does not exist by default. Create this applyDeployScripts.sh script and define logic to copy our custom assets from DeployScripts folder into the desired locations in the target Docker image. DeployScripts/xc-app/*** This represents our own folders or files that are needed for our unique customizations. We can include any assets that we might need to suit your special requirement. For example, to deploy custom Run Engine command logic, we can put our custom scripts, classes, or JAR files here and then define logic in the applyDeployScripts.sh file to determine what to do with these custom assets.
Building data
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).