* Update CAP Scenario * Next step
4.7 KiB
Build and Deploy SAP Cloud Application Programming Model Applications
In this scenario, we will setup a CI/CD Pipeline for a SAP Cloud Application Programming Model (CAP) project.
Prerequisites
- You have the SAP Cloud Application Programming Model command line tool (cds-dk) installed: See Get Started.
- You have setup a suitable Jenkins instance as described in Guided Tour
Context
The Application Programming Model for SAP Cloud Platform is an end-to-end best practice guide for developing applications on SAP Cloud Platform and provides a supportive set of APIs, languages, and libraries. For more information about the SAP Cloud Application Programming Model, visit its documentation.
Getting started
To get started, generate a project using the SAP Cloud Application Programming Model command line tools:
cds init bookshop --add java,mta,samples,hana
Alternatively you can also reuse an existing project. To include support for continuous delivery, you can execute the command cds add pipeline
in the directory in which you have created your project:
cd bookshop
cds add pipeline
This will generate a project which already includes a Jenkinsfile
, and a .pipeline/config.yml
file.
Now, you'll need to push the code to a git repository. This is required because the pipeline gets your code via git. This might be GitHub, or any other cloud or on-premise git solution you have in your company.
Afterwards you can connect your Jenkins instance to your git repository and let it build the project.
Legacy documentation
If your project is not based on the SAP Cloud Platform Business Application WebIDE template, you could either migrate your code to comply with the structure which is described here, or you can use a self built pipeline, as described in this section.
Prerequisites
- You have an account on SAP Cloud Platform in the Cloud Foundry environment. See Accounts.
- You have downloaded and installed the Cloud Foundry command line interface (CLI). See Download and Install the Cloud Foundry Command Line Interface.
- You have installed the multi-target application plug-in for the Cloud Foundry command line interface. See Install the Multi-Target Application Plug-in in the Cloud Foundry Environment.
- You have installed the Java Runtime Environment 8.
- You have installed Jenkins 2.60.3 or higher.
- You have set up Project “Piper”. See README.
- You have installed the Multi-Target Application (MTA) Archive Builder 1.0.6 or newer. See SAP Development Tools.
- You have installed Node.js including node and npm. See Node.js.
Context
The Application Programming Model for SAP Cloud Platform is an end-to-end best practice guide for developing applications on SAP Cloud Platform and provides a supportive set of APIs, languages, and libraries. For more information about the SAP Cloud Application Programming Model, see Working with the SAP Cloud Application Programming Model.
In this scenario, we want to show how to implement a basic continuous delivery process for developing applications according to this programming model with the help of project "Piper" on Jenkins. This basic scenario can be adapted and enriched according to your specific needs.
Example
Jenkinsfile
@Library('piper-lib-os') _
node(){
stage('Prepare') {
deleteDir()
checkout scm
setupCommonPipelineEnvironment script:this
}
stage('Build') {
mtaBuild script:this
}
stage('Deploy') {
cloudFoundryDeploy script:this, deployTool:'mtaDeployPlugin'
}
}
Configuration (.pipeline/config.yml
)
steps:
mtaBuild:
buildTarget: 'CF'
cloudFoundryDeploy:
cloudFoundry:
credentialsId: 'CF'
apiEndpoint: '<CF Endpoint>'
org: '<CF Organization>'
space: '<CF Space>'
Parameters
For the detailed description of the relevant parameters, see: