Continuous Integration / Continuous Deployment pipeline
Important links
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:
- Piasecki Michal (CI/DAD13) michal.piasecki@pl.bosch.com
Frontend Kit Build Process
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
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.
- feature/FROK-feature -> https://frok.ui.bosch.tech/frok/FROK-feature
- develop -> https://frok.ui.bosch.tech/frok/develop
- release/1.0.0 -> https://frok.ui.bosch.tech/frok/1.0.0
- master -> https://frok.ui.bosch.tech
Summary
More information about configuration of DAD CI/CD pipeline can be found here.