Skip to Content

One of the issues I see in many SAP Commerce project is the lacking developer tooling, especially around project setup, packaging, deployment etc.

This prompted me to write and share various tools with the wider developer audience, which can be found here:

https://github.com/sap-commerce-tools

Everything is licensed under Apache License 2.0

Disclaimer: This is not officially endorsed or supported by SAP

Here are some highlights:

SAP Commerce Gradle Plugin

https://github.com/sap-commerce-tools/commerce-gradle-plugin

This plugin enables you to do the following with Gradle:

  • Download a SAP Commerce release from the SAP ONE Support Launchpad
  • Bootstrap (Unpack, configure, …) your SAP Commerce project
  • Build SAP Commerce with Gradle
  • Easily create valid CCv1 (aka. “SAP Commerce Cloud on SAP infrastructure”) deployment packages
  • (experimental) Use a CCv2 (aka “SAP┬áCommerce Cloud in the Public Cloud”) manifest.json to configure the build

The plugins are extensively documented in the Github wiki of the project, check it out!

Also have a look at out the various example repositories:

https://github.com/sap-commerce-tools/how-to-develop

https://github.com/sap-commerce-tools/plugin-example

https://github.com/sap-commerce-tools/supportportal-example

With these plugins, you can fully automate the project setup (for new developers, or on your Continuous Integration server) and (ideally) reduce it to a single gradle task:

git clone <project>
cd <project>
./gradlew bootstrap

ybp – Auto-navigate to hybris/bin/platform

https://github.com/sap-commerce-tools/ybp

Everybody that develops SAP Commerce projects knows how annoying it is to change the directory to …/hybris/bin/platform, source the ant configuration if necessary and then run the commands like ant or hybrisserver.sh, especially if you work on multiple projects.

This little helper script (available for Linux, macOS and Windows) automates that.

So instead of:

cd ../../../bin/platform
source setantenv.sh
ant clean all

you can just run

ybp ant clean all

With some shell aliases / additional helper scripts (on Windows) you can reduce that even further, for example:

ya clean all

Check the README of the repository for details.

ccv1-ansible – Deploy to CCv1 (“SAP Commerce Cloud on SAP infrastructure”)

https://github.com/sap-commerce-tools/ccv1-ansible

For CCv1 projects, the development team is responsible for so called “open” environments. (usually DEV)

This means that they have to figure out how to deploy a new (test) release correctly.

These Ansible scripts automate the recommended approach as documented on help.hybris.com, and can serve as a starting point for Continuous Delivery for on-prem customers.

So instead of ~10 manual steps, you just run the following:

#Install release
ansible-playbook -i dev install-release.yaml --extra-vars "package=acme-ts_v1.0.0"

#Activate release and execute update running system
ansible-playbook -i qa activate-release.yaml --extra-vars "package=acme-ts_v1.0.0 update=true"

Other cool stuff

I also share extensions that cover common requirements that are relevant for nearly every SAP Commerce projects:

changeprompteditorarea – Prompt if there are unsaved changes

https://github.com/sap-commerce-tools/changeprompteditorarea

It’s not 100% perfect, but provides a quick and easy fix for this common requirement.

hacvcsinfo – Display version control information in the administration console

https://github.com/sap-commerce-tools/hacvcsinfo

It really helps to see what commit/branch/tag was used to build the currently running server.

 

I hope these tools help everyone embarking on their SAP Commerce projects, as they already did for others.

And of course, Pull Requests, Issues, Ideas and maybe even a tool that you want to share are highly welcome!

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply