Guide - Intershop Commerce Platform Development

Product Version

11.x

Product To Version

Owner

Matthias Raab

Product Type

Introduction

Intershop provides an integrated environment for development and production in Microsoft Azure Cloud. All continuous integration processes are preconfigured in a project location in Azure DevOps.

References

Azure DevOps Project Setup

Each customer project starts with an organization and a project in Azure DevOps. The project contains prepared source repositories and provides access to the necessary Java artifacts, pipelines, an optional ticket system, and wiki system. For container handling two registries are provided - one for Intershop container images and the second one for self-created images.

The CI/CD system is working with a standard configuration.

To access the various resources, you need an Azure account, which is provided by Intershop.

Customer resources in Azure

Development Requirements

The following resources are required on a developer machine:

Intershop Commerce Management

Setup details are available in the README of the project.

Intershop delivers a standard product with standard documentation - this documentation can be extended by the project developers, if necessary.

Intershop Progressive Web App

For details, refer to https://github.com/intershop/intershop-pwa/blob/develop/docs/guides/getting-started.md .

Intershop Order Management

For more information, refer to Guide - IOM Setup Blueprint Project.

Start with Intershop Projects

Projects require access to various artifacts - this includes Maven packages as well as container images.

Configure Azure DevOps Account

  1. Log in to https://dev.azure.com for your configured organization.

  2. Configure a personal access token, see https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows for details.
    The personal access token should be configured to read packages:

  3. Copy the personal access token to a temporary text file for later use.

  4. Configure an SSH public key, see https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?toc=%2Fazure%2Fdevops%2Forganizations%2Ftoc.json&bc=%2Fazure%2Fdevops%2Forganizations%2Fbreadcrumb%2Ftoc.json&view=azure-devops for details.
    The personal access token is used for your Maven or Gradle configuration.

Configure Access for Container Images

To access the Intershop registry, it is necessary to generate a special token for the Docker login. To do so, perform the following steps:

  1. Open https://docker.tools.intershop.com/.

  2. Log in via LOGIN VIA OIDC PROVIDER and use your Intershop Azure account.

  3. On the following page, select your profile on the top left.

  4. Copy the CLI secret from the dialog.
    For more information see Guide - Access to Intershop Docker Images.

Test Docker Login to Intershop Registry

To test the Docker login to the Intershop registry, use the following command:

docker login -u <your Azure account> -p <CLI secret>

The response should be:

Login Succeeded

Test Docker Login to your Azure Registry

To test the Docker login to your Azure registry, use the following command:

az acr login -n <project name without dash>acr.azurecr.io>

The response should be:

Login Succeeded

Default Git Repositories

Repository Name

Description

<project name>-icm

This repository contains the Intershop Commerce Management project code. The initial project contains an empty template with a default project configuration.

<project name>-pwa

This is the initial code of the Intershop Progressive Web App - the default frontend of the ICM.
For more details see https://github.com/intershop/intershop-pwa

<project name>-iom

The initial project code of the Intershop Order Management was stored here. (optional)

<project name>-ci-configuration

This project contains the necessary configuration for the ICM continuous integration processes.

<project name>-cd

This project contains the necessary configuration for the CD processes.

environments

The Flux configuration for the Kubernetes deployment is stored in this repository.

The repository <project name> is empty and currently not used.

Default Git Repositories Configuration

All Git repositories in an Intershop project are prepared with a template as starting point. Intershop prefers and recommends GitFlow branching strategy, see https://nvie.com/posts/a-successful-git-branching-model/. So, there is always a “master”-Branch and a “develop”-Branch prepared. The provided Azure DevOps pipelines assume a development in this GitFlow branching strategy.

The following branches will automatically trigger a new build, if changes are available:

Branches

feature/**

For feature development, based on develop branch.

hotfix/**

For hotfix development, based on master or release branches.

release/**

Stabilization development, based on develop branch. This branch prepares a release on the master.

develop

This branch is the working development branch.

master

The master branch holds the stable code. Release tags will be created from this branch.

Tags “version/**” will trigger a release build with the correct version. Intershop recommends semantic versioning (see https://semver.org).

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

The Intershop Customer Support website uses only technically necessary cookies. We do not track visitors or have visitors tracked by 3rd parties.

Further information on privacy can be found in the Intershop Privacy Policy and Legal Notice.
Customer Support
Knowledge Base
Product Resources
Tickets