Skip to content

Build and Deploy SAPUI5/SAP Fiori Applications on SAP Cloud Platform

Build an application based on SAPUI5 or SAP Fiori with Jenkins and deploy the build result into an SAP Cloud Platform account in the Cloud Foundry environment. Optionally, deploy the build result into the Neo environment.

Prerequisites

  • You have an account on SAP Cloud Platform 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 multi-target application (MTA) concept, and how to deploy the build result into an SAP Cloud Platform 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 MTA Build step and the SAP Cloud Platform Deployment 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: