Self Managed Commerce CI Pipelines
CloudOps for Kubernetes includes two Jenkins pipelines that run through a complete Self Managed Commerce deployment workflow.
commerce-test-and-deploy
Commerce Pipeline This job is used to test Self Managed Commerce code and stand up a Self Managed Commerce environment (stack) with that tested code. When the job completes, the Commerce environment remains deployed and running so that testers and users can continue to access and use it. The resulting Commerce environment is suitable for testing, but does not have the high-availability features required for production-like use cases.
The commerce-test-and-deploy
job is often scheduled to run automatically each night, to validate code that has been merged into the master branch during the day, and to ensure the Commerce test environment is updated with that code and ready to be used by Commerce testers the following day.
This job builds the main Self Managed Commerce branch, which by default is assumed to be master
, and runs all local unit tests. If the build and tests are successful, the job then updates the Self Managed Commerce stack named ‘nightly’ and then runs Cortex system tests against that stack. The job is parallelized and runs as many tests as possible before failing if any tests fail.
By default, the job is disabled but configured to run on a schedule. To use the job, enable it through the Jenkins server UI and verify that the schedule is suitable for your team.
note
For users familiar with CloudOps for AWS, this job is similar to and serves the same purpose as the CommerceScheduledPipeline
job that is available in recent releases of that product. The schedule can be disabled if you run the job solely on-demand.
Jenkins job parameters
containerUser
Indicates whether the container images will be built to run as the root user or the non-root user. It cannot be empty.
Set to non-root
if the container images will be built to run as non-root (for example, they will be built with release 4.2.x or newer of the Elastic Path Docker repository).
Set to root
if the container images will be built to run as root (for example, they will be built with release 4.1.x or earlier of the Elastic Path Docker repository).
cloudOpsForKubernetesRepoURL
The CloudOps for Kubernetes Git repository to use when cloning the Jenkinsfile. The Jenkinsfile defines how the CI pipeline is run.
cloudOpsForKubernetesBranch
The branch of the CloudOps for Kubernetes cloud-ops-kubernetes
Git repository to use when cloning the Jenkinsfile that defines how the CI pipeline is run.
dockerBranch
The branch of the Elastic Path containerization docker
Git repository to use when building Docker images.
epCommerceBranch
The branch of the Self Managed Commerce ep-commerce
Git repository to use when building and testing Commerce related artifacts. Set to master
by default.
epCommerceCredentialId
The Jenkins credentials to use when checking out the Self Managed Commerce code.
commerce-branch-validation
On-demand Commerce Pipeline This job is used to test Self Managed Commerce code. It will stand up a Commerce environment during the tests and cleans-up after itself, deleting that environment after the tests have been run. After the job completes, the Commerce environment is no longer available.
This job is typically run by Commerce developers to validate their Self Managed Commerce feature and development branches, often before merging their code. This job is intended to thoroughly test a Self Managed Commerce branch and performs the following tasks:
- Builds the specified Self Managed Commerce branch.
- Runs all local unit tests.
- Deploys a temporary Self Managed Commerce stack.
- Runs Cortex system tests against the stack.
The job is highly parallelized and will run as many tests as possible before failing if any tests fail.
note
For users familiar with CloudOps for AWS, this job is similar to and serves the same purpose as the CommercePipeline
job that is available in recent releases of that product.
Jenkins job parameters
containerUser
Indicates whether the container images will be built to run as the root user or the non-root user. It cannot be empty.
Set to non-root
if the container images will be built to run as non-root (for example, they will be built with release 4.2.x or newer of the Elastic Path Docker repository).
Set to root
if the container images will be built to run as root (for example, they will be built with release 4.1.x or earlier of the Elastic Path Docker repository).
cloudOpsForKubernetesRepoURL
The CloudOps for Kubernetes Git repository to use when cloning the Jenkinsfile. The Jenkinsfile defines how the CI pipeline is run.
cloudOpsForKubernetesBranch
The branch of the CloudOps for Kubernetes cloud-ops-kubernetes
Git repository to use when cloning the Jenkinsfile that defines how the CI pipeline is run.
dockerBranch
The branch of the Elastic Path containerization docker
Git repository to use when building Docker images.
epCommerceBranch
The branch of the Self Managed Commerce ep-commerce
Git repository to use when building and testing Commerce related artifacts.
epCommerceCredentialId
The Jenkins credentials to use when checking out the Self Managed Commerce code.