Build Tooling Overview
The Self-Managed Commerce build tools are a set of components that you can use to perform common Self-Managed Commerce Maven build tasks, invoke Maven tests, and build container images. These tools are designed so you can use them on your local linux environment or integrate them in your continuous integration (CI) system of choice.
All of the build tooling components implement Elastic Path's recommended settings, best-practices and configurations for building Self-Managed Commerce assets.
The Self-Managed Commerce build tools are implemented as Bash scripts, and as Ansible roles
and playbooks
. Ansible is a widely-used open source IT automation engine that has many capabilities. The Self-Managed Commerce build tools are reuseable and repeatable, and implement Elastic Path's recommended practices. Engineers who are familiar with Bash, Ansible and Java software build should find the tools easy to understand and use.
tip
To learn more about Ansible, see Introduction to Ansible.
Supported Operating Systems
The Self-Managed Commerce build tools are developed and tested for use with Amazon Linux 2023, and include Ansible playbooks that can configure Amazon Linux 2023 environments.
Supported DevOps Use Cases
The types build tasks that the tools perform include the following.
- Configure a Linux host, running a supported operating system version, so it is suitable and ready to run the other build tools.
- Create and configure a Linux container image, based on an Amazon Linux 2023 base image, so it is suitable and ready to run the other build tools.
- Invoke the Maven build process to compile the Self-Managed Commerce source code.
- Invoke the Maven build process to create the Self-Managed Commerce deployment package.
- Invoke Maven processes to run Self-Managed Commerce tests.
- Invoke container build processes to create the Self-Managed Commerce application container images.
- Invoke container build processes to create the base and third-party images used by Self-Managed Commerce.
Tooling Location
The build tools are included with newer releases of Self-Managed Commerce, and can be found in the Self-Managed Commerce ep-commerce
Git repository under the following folders.
devops/build_tools_extras
: This folder contains the components that configure Linux-based build hosts and containerized build environments.devops/build_tools
: This folder contains the components that perform Maven builds, run Maven tests, and build application container images.devops/docker_compose
: This folder contains docker-compose examples that demonstrate how to run the Self-Managed Commerce application containers.
note
The build tools provided in any given branch of the ep-commerce
Git project are only tested and intended to be used with that branch.