Build and Deploy SAPUI5/SAP Fiori Applications on SAP Business Technology Platform (SAP BTP)¶
Build an application based on SAPUI5 or SAP Fiori with Jenkins and deploy the build result into an SAP BTP account in the SAP BTP, Cloud Foundry environment. Optionally, deploy the build result into the Neo environment.
- You have an account on SAP BTP in the Cloud Foundry environment. See Accounts.
- You have set up project “Piper”. See Guided Tour.
This scenario requires additional files in your project and in the execution environment on your Jenkins instance.
On the project level, provide and adjust the following template:
||This file controls the behavior of the MTA toolset.||Place the
This scenario combines various different steps to create a complete pipeline.
In this scenario, we want to show how to build an application based on SAPUI5 or SAP Fiori by using the multitarget application (MTA) concept, and how to deploy the build result into an SAP BTP account in the Cloud Foundry environment. This document comprises the mtaBuild and the cloudFoundryDeploy steps.
Screenshot: Build and Deploy Process in Jenkins
Following the convention for pipeline definitions, use a
Jenkinsfile which resides in the root directory of your development sources.
@Library('piper-lib-os') _ fioriOnCloudPlatformPipeline script:this
This is a basic configuration example, which also resides in the sources of the project. Edit
.pipeline/config.yml below the root directory. The configuration corresponds to the steps wrapped in
fioriOnCloudPlatformPipeline. For more information, see mtaBuild and cloudFoundryDeploy.
steps: mtaBuild: platform: 'CF' cloudFoundryDeploy: cloudFoundry: apiEndpoint: 'your-cf-endpoint' # default: 'https://api.cf.eu10.hana.ondemand.com' org: 'your-org-id' space: 'your-space-id' credentialsId: 'CF-jenkins-credentials-id'
steps: mtaBuild: platform: 'NEO' neoDeploy: neo: credentialsId: 'NEO-jenkins-credentials-id' account: 'your-account-id' host: 'hana.ondemand.com'
For the detailed description of the relevant parameters, see: