Search customization for server containers

The Transaction, Search, Customization, and Store servers run in independent Linux-based Docker containers. Customizations that take place inside the Search server include:

Search index preprocessing occurs on the Transaction server.

During development, the Search and Transaction servers run in the same workspace, but they are encapsulated in separate containers during deployment. We create code to work in toolkit projects...

Customization Server (container) Project
Preprocess Java code Transaction server WebSphereCommerceServerExtensionsLogic
Preprocess configuration files Transaction server WC\xm\search\dataImport\v3\db2\wc-dataimport-preprocess-custom.xml
WC\xm\search\dataImport\v3\db2\wc-dataimport-preprocess-x-finalbuild.xml
Solr related configurations Search server search-config-ext\src\index\managed-solr\config\v3\*
Search configurations Search server search-config-ext\src\runtime\config
Search Java code Search server search-logic-ext


The development process

We can develop for Search in the WebSphere Commerce Version 9 Docker software environment in three steps.

  1. Prepare our customized code using the development toolkit. All servers share workspace environments during this phase.

  2. Use the WCB tool to build a customization package. For more information about configuring the WCB tool to extract and build packages, see Packaging customized code for deployment.

  3. Build and deploy our customized container images. For generic instructions on building such images, see Building custom Docker images based on customization packages.


The continuous integration and continuous deployment pipeline

Since the servers run in containers, we can take advantage of containerization and implement a continuous integration and continuous deployment (CI/CD pipeline). A CI/CD pipeline helps you automate processes in the development lifecycle, from when a developer checks in code, to deploying the code to ythe production environment. The development process feeds the CI side of such a pipeline.

A CI/CD pipeline helps you automate processes in the development lifecycle, from when a developer checks in code, to deploying the code to your production environment. The pipeline includes staging, version control, testing, and packaging and deployment of the code. For more information about setting up a CI/CD pipeline, see Planning a CI/CD pipeline.