Skip to content

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.

Prerequisites

  • You have an account on SAP BTP in the Cloud Foundry environment. See Accounts.
  • You have set up project “Piper”. See Guided Tour.

Project Prerequisites

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:

File Name Description Position
mta.yaml This file controls the behavior of the MTA toolset. Place the mta.yaml file in your application root folder and replace the values in brackets with your data.

Context

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.

This pipeline in Jenkins Blue Ocean

Screenshot: Build and Deploy Process in Jenkins

Example

Jenkinsfile

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

fioriOnCloudPlatformPipeline is a so called scenario step that wraps mainly the mtaBuild step and the cloudFoundryDeploy step.

Scenario Configuration

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'

Optional environment

Optionally, you can use fioriOnCloudPlatformPipeline to deploy your build result into the Neo environment. For more information, see neoDeploy.

steps:
  mtaBuild:
    platform: 'NEO'
  neoDeploy:
    neo:
      credentialsId: 'NEO-jenkins-credentials-id'
      account: 'your-account-id'
      host: 'hana.ondemand.com'

Parameters

For the detailed description of the relevant parameters, see: