Continuous Integration / Continuous Deployment pipeline

Below you can find links to all important locations, used in build process:

In case to obtain the access to the above tools, you can contact following persons:

Frontend Kit Build Process

CICD Diagram

In Bosch exists CI/CD pipeline for NPM projects like Frontend Kit. The process is configurable by jenkinsfile, which should exist in the root folder of the project. More informations about Bosch NPM pipeline with details, you can find under following address: Jenkins Pipelines - NPM

Stages

CICD Stages

Preparation

Setup of pipeline execution and validation of mandatory input parameters.

Checkout

Git checkout is to checkout our desired status of our repository (like branches). Here we are checking out all the files present in our NPM repository that we have configured in Github.

Static Code Analysis

In this stage Static Code Analysis is performed and SonarQube is used. SonarQube is an open source platform for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells and security vulnerabilities.

YARN Build

In this step jenkins performs "yarn" command to download all dependencies and "yarn run build" command to start build process.

OSS Scan

OSS scanning is triggered on branches defined in protex_enabled_branches Jenkinsfile property. If no branches defined, or given branch is not matching, scanning is skipped.

The goal of this task is to scan source code of the project, to detect whether all used 3rd party libraries have licences, that can be used in commercial product and whether all licences of 3rd party libraries are attached to the product.

Please refer to OSS scan via Pipeline for more information.

Publishing to Artifactory

After successful build, the content of dist folder will be published as artifact (npm package) to the Artifactory.

Deploy to DEV-SSH-VM

After successful build, the preview website is deployed to the preview server. Login/Password: bosch/uneo2019.

The target url of the deployment depends on the name of the branch. e.g.

Summary

More information about configuration of DAD CI/CD pipeline can be found here.