Within the product “Repositories for Local Development Environment” (https://dev.azure.com/ish-devtraining
) the following restrictions apply:
no write access is possible to Git repositories
no read and write access to the project specific Azure Registry is possible
the access to ADO project boards and wiki is not possible
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.
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
The following resources are required on a developer machine:
Docker Desktop (https://www.docker.com/products/docker-desktop/)
JDK 17 (https://adoptium.net/de/temurin/releases?version=17 )
Git client
Azure CLI, see https://docs.microsoft.com/en-us/cli/azure/install-azure-cli.
Intershop Studio (Download URL: https://repository.cloud.intershop.com/ui/native/studio)
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.
Angular CLI (https://www.npmjs.com/package/@angular/cli )
Microsoft Visual Code
For details, refer to https://github.com/intershop/intershop-pwa/blob/develop/docs/guides/getting-started.md .
Apache Maven (https://maven.apache.org/install.html)
Java IDE
For more information, refer to Guide - IOM Setup Blueprint Project.
Projects require access to various artifacts - this includes Maven packages as well as container images.
Log in to https://dev.azure.com for your configured organization.
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:
Copy the personal access token to a temporary text file for later use.
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.
To access the Intershop registry, it is necessary to generate a special token for the Docker login. To do so, perform the following steps:
Log in via LOGIN VIA OIDC PROVIDER and use your Intershop Azure account.
On the following page, select your profile on the top right.
Copy the CLI secret from the dialog.
For more information see Guide - Access to Intershop Docker Images.
To test the Docker login to the Intershop registry, use the following command:
docker login http://docker.tools.intershop.com -u <your Azure account> -p <CLI secret>
The response should be:
Login Succeeded
To test the Docker login to your Azure registry, use the following command:
az login --tenant <TENANT-ID>
az acr login -n <project name without dash>acr.azurecr.io
The response should be:
Login Succeeded
For more information see Guide - Access to Docker Images
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. |
<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.
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).