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:
- Solr-related changes including stop words and Solr schema-field type customizations.
- Search profiles
- Search expression providers
- Search query preprocessor and postprocessor functions.
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.xmlSolr 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.
- Prepare our customized code using the development toolkit. All servers share workspace environments during this phase.
- 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.
- 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.