Code Repository: Developers push custom extension code and configurations to a Git-based repository.
Manifest Configuration: A manifest.json file is set up to reference:
Custom extension code and configurations.
Various SAP Commerce Cloud extensions (e.g., cloud hot folder extension, media conversion extension).
Initiate Build: A system administrator uses the SAP Commerce Cloud Portal UI to initiate a build.
Build Process:
The build retrieves custom extension code and SAP Commerce Cloud extensions based on the manifest.json.
It compiles them to generate security-hardened Docker images on top of a base image.
Upon successful build, the system registers the generated images in a container registry.
Deploy to Environment: Through the Cloud Portal UI, a system administrator can deploy a successful build to a cloud environment.
Deployment Process:
The Deployer component retrieves the Docker images from the container registry and places them onto the Kubernetes cluster nodes.
Docker containers are produced from these images and operated on the cluster nodes (e.g., the customized SAP Commerce Cloud Application in the S1 environment).
Deployment Configuration Options:
Target Environment: Choose the environment (e.g., Development, Staging, Production).
Platform Update Mode:
No migration required: No modifications to the type system or data.
Migrate data: Changes to the type system or item data are included.
Initialize database: The database schema is rebuilt from the ground up.
Deployment Mode:
Rolling Update: Deploys the build to the cluster one server at a time, ensuring the entire cluster remains operational.
Recreate: Deploys the build to all servers in the cluster simultaneously, making the cluster non-operational during deployment.
Blue/Green: Adds a layer of protection to future deployments by offering a preview in production prior to its official launch to customers.
Monitoring: After deployment, monitor the application for any issues.
Testing: Conduct functional and performance tests to ensure the deployment was successful.
Use Git Repository (Bitbucket, GitHub, Azure DevOps, etc.)
Structure:
custom folder for your extensions
manifest.json to define what extensions to build
settings.properties to define environment-specific configs
Example:
/my-project
├── custom/
├── manifest.json
└── settings.properties
Option 1: SAP Cloud Build Environment (preferred)
Go to SAP Commerce Cloud Portal
Choose your project/environment
Click on "Builds" > "Create Build"
Select:
Git Branch
manifest.json (defines which extensions to build)
Click "Build"
Build includes:
Code compilation
Configuration packaging
Docker image creation
STEP 3: Deploy to an Environment
Once the build completes successfully:
Go to "Deployments" > "Create Deployment"
Choose:
Target environment (dev, staging, prod)
Build version (from your previous step)
Update Strategy:
UPDATE: Modify schema and keep data
INITIALIZE: Wipes and rebuilds DB (dev use only!)
NONE: No DB change
Deployment Strategy:
Rolling Update (safe for production)
Recreate (faster but downtime risk)
Blue-Green (test before switch live)
Click "Deploy" and Wait ~10–20 mins depending on deployment mode and infrastructure.
Validate via Backoffice or hac (Hybris admin console)
Test:
Product listings
Checkout
User login
You can also automate the above with:
Azure DevOps / Jenkins pipelines
Trigger build & deploy using Webhooks + SAP Cloud APIs
Store secrets/configs per environment (using Cloud Portal or vault)