Building Container Images
At a very high level, three steps are required to build the Self-Managed Commerce container images:
- Build the Commerce deployment package.
- Build the base images.
- Build the Commerce images.
Each build step creates different artifacts. For more information about the relationship between these artifacts, see Self-Managed Commerce Deployment Artifacts.
important
Identify image tagging strategies suitable for your business and team workflows to ensure that the right versions of the images are used in the right environments.
important
Regularly rebuild the images to obtain and apply operating system updates and patches.
Building the Deployment Package
The Commerce deployment package is created by running a Maven build process against the Commerce source code. For more information, see Build Deployment Package.
Building the Base and Third Party Images
The provided Self-Managed Commerce containerization and deployment tools require that you build the following base and third-party container images.
Image Name | Description |
---|---|
amazonlinux-java | An image with the Java SDK installed on Amazon Linux. |
tomcat | The Apache Tomcat application server installed on amazonlinux-java image. |
activemq | The Apache ActiveMQ Java Messaging application installed on amazonlinux-java image. |
mysql | A containerized MySQL database implementation, suitable for Commerce development or test environments. |
Recommended build tools
New and redesigned build tools are available with the most recent releases of Self-Managed Commerce, under the devops/build_tools
folder of the Self-Managed Commerce ep-commerce
Git repository. Container images created by these tools are equivalent to and compatible with images built by the previous Elastic Path Docker tools. These tools are recommended for customers creating or updating Self-Managed Commerce continuous integration (CI) or build solutions.
For instructions on building the base images using the recommended tools, see Build Base and Third-Party Images.
Previous tools
The previous generation of Self-Managed Commerce image build tools, called Elastic Path Docker, remain available. Container images created by the newer tools are equivalent to and compatible with images built by these tools.
The BaseImageBuilder.sh
script is provided to build the amazonlinux-java
and tomcat
images. The ActiveMqImageBuilder.sh
script is provided to build the activemq
image. The EpDbImageBuilder.sh
script is provided to build the mysql
image.
Building the Commerce Application Images
note
Prerequisites:
- A deployment package must be built and available.
- The base images must be available.
The provided Self-Managed Commerce containerization and deployment tools require that you build the following commerce service container images.
Image Name | Description |
---|---|
cortex | The Commerce API and Cortex Studio applications installed on the tomcat image. |
search | The Search application, used for Search Primary and Search Secondary services, installed on the tomcat image. |
cm | The Commerce Manager applications installed on the tomcat image. |
batch | The Batch Server applications installed on the tomcat image. |
integration | The Integration Server applications installed on the tomcat image. |
data-sync | The Data Sync WebApp applications installed on the tomcat image. |
mock | The Wiremock service applications installed on the tomcat image. |
data-pop-tool | The Commerce Data Population tool and Java SDK installed on the amazonlinux image. |
Recommended build tools
New and redesigned build tools are available with the most recent releases of Self-Managed Commerce, under the devops/build_tools
folder of the Self-Managed Commerce ep-commerce
Git repository. Container images created by these tools are equivalent to and compatible with images built by the previous Elastic Path Docker tools. These tools are recommended for customers creating or updating Self-Managed Commerce continuous integration (CI) or build solutions.
For instructions on building the base images using the recommended tools, see Build Application Images.
Previous tools
The previous generation of Self-Managed Commerce image build tools, called Elastic Path Docker, remain available. Container images created by the newer tools are equivalent to and compatible with images built by these tools.
The EpImageBuilder.sh
script is provided to build the application service images, but excluding the data-pop-tool
images. For instructions on building the data-pop-tool
container image, see Containerized Data Population Tool. You can build all based and Commerce applications images, but excluding the data-pop-tool
image, by running the BuildImages.sh
script.