Skip to Content
Product Information

Meet Our New Continuous Integration and Delivery Solution

After months of hard work, we’re proud to present the latest member of our CI/CD family: SAP Cloud Platform Continuous Integration and Delivery.

Our new service on SAP Cloud Platform lets you configure and run predefined CI/CD pipelines. It connects with your GitHub.com repository and tests, builds, and deploys your code changes. In its user interface, you can monitor the status of your builds and view their detailed logs. By detecting errors as quickly as possible, our Continuous Integration & Delivery service helps you prevent integration problems before completing your development.

At the moment, SAP Cloud Platform Continuous Integration and Delivery offers three predefined pipelines for different use cases:

  • sap-cloud-sdk – Configure a CI/CD pipeline for the development of applications that follow the SAP Cloud Application Programming Model in the Cloud Foundry environment.
  • sap-ui5-cf – Configure a CI/CD pipeline for the development of SAPUI5/SAP Fiori applications in the Cloud Foundry environment.
  • sap-ui5-neo – Configure a CI/CD pipeline for the development of SAPUI5/SAP Fiori applications in the Neo environment.

And there’s a lot more to come!

You can configure your pipelines either directly in the user interface of our service (sap-ui5-cf and sap-ui5-neo) or in your source repository on GitHub.com (all three pipelines). Here’s an overview of the stages your pipelines can comprise depending on your configuration:

 

sap-cloud-sdk:

  1. Init – The project “Piper” and Cloud SDK pipeline libraries are initialized, the environment is set up, the infrastructure-related configuration is loaded, and the sources are cloned. This stage is mandatory and executed with every build.
  1. Build and Test – The cloned sources are built, and the resulting artifacts are tested through unit tests. This stage is mandatory and executed with every build.
  1. Local Tests – The local tests you’ve configured are executed.
  1. Production Deployment – A productive branch of your project is deployed to the target(s) you have defined.

 

sap-ui5-cf and sap-ui5-neo:

  1. Init – The sources are cloned from GitHub and the environment is set up. This stage is mandatory and executed with every build.
  1. Test – The tests you’ve configured are executed.
  1. Build – Your application is packaged into a deployable archive. This stage is mandatory and executed with every build.
  1. Malware Scan – Your project files are scanned for malware and viruses.
  1. Deploy – Your application is deployed to the defined deploy target(s).
  1. Upload to Transport Management Service – For a staged development landscape, the archive is uploaded to SAP Cloud Platform Transport Management.

With SAP Cloud Platform Continuous Integration and Delivery, we now have three different CI/CD solutions that differ in their level of flexibility and expertise required for setup and configuration:

  • SAP Cloud Platform Continuous Integration and Delivery – The CI/CD service is our offering that needs the least expertise in continuous integration and delivery: You can use our predefined pipelines without having to worry about the underlying infrastructure.
  • Project “Piper” – Project “Piper” offers a little bit more flexibility. It’s an open-source project that provides preconfigured Jenkins pipelines, which you can use in your own Jenkins master infrastructure and adapt according to your needs, if necessary. It consists of a shared library, which contains the description of steps, scenarios, and utilities required to use Jenkins pipelines, and a set of Docker images that can be used to implement best practice processes.
  • Continuous Integration and Delivery Best Practices Guide – The CI/CD Best Practices Guide is our offering that requires the highest level of expertise but, in return, offers the highest level of flexibility. It provides simple procedures to implement continuous delivery pipelines on any CI/CD stack and demonstrates how to apply the principles of CI/CD to SAP-specific technologies.

For an overview of all solutions we offer for continuous integration and delivery, see SAP Solutions for Continuous Integration and Delivery.

Have you found your ideal CI/CD solution by SAP, yet? Tell us what you think!

26 Comments
You must be Logged on to comment or reply to a post.
      • Hi Christoph,

        we're using UI5 Cordova/Kapsel Apps (Fiori Offline for Android) in Neo environment. Will there be a possibility to use a pipeline to build and deploy these kind of apps?

        • Hi Nicole,

          currently, this is not possible. We're currently prioritizing additional pipeline scenarios and this one will sure be part of the discussion. Unfortunately, I can't give you a date or a roadmap yet.

          Thanks,

          Christoph

      • Hi Christoph,

        So basically we have Java servlets that are currently running on Cloud Platform Neo.  Will probably move this to CF in near future.  Thus the use case would be to automate the build and deployment currently we either manually deploy from Eclipse into the target subaccount on Neo, or we use a pipeline created on Azure Devops.

         

        Would be great if this could be automated from SAP CP.

  • Hi Sarah.

     

    Nice Blog. Thank you for sharing.

    I am using docker images to setup build and deployment for UI5 application on cloud foundry within Azure DevOps.

    For UI project - mta.yml file - contains builder as CUSTOM. when we run with existing docker image - we get an error that Custom builder is not found-   this should be the case if we are not using latest Cloud MTA Build Tool to build the MTAR.

    I am using the image -

    ppiper/mta-archive-builder:latest for build purpose. do i need to use some other image.

     

    changing builder from custom to npm solves that issue in mta.yml file.

    however, i see that changes doesn't reflect back properly on application in CF.

  • Hello Sarah,

    thanks for this great blog. In our company we have our own git (Bitbucket) and I don’t really know lots of companies using github for their in-house private projects.

    It seems we can’t use the ci/cd pipelines due to this restriction (only github). I thought I might still be able to use our Bitbucket (in the end it is git), but all Git operations (i.e git clone/push/…) in our Bitbucket are only possible with SSH and with IP-Whitelisting and not HTTPS. Also according to documentation it says to use a credential with Basic Authentication, nevertheless credentials with OAuth are still shows. We might later not have this restriction any more, so https might be possible in the future. Will somehting other than Basic Authentication work?

    Will there be a more flexible solution in the future where we can also use other services than github and also some SSH access additional to https? We would love to try these standard pipelines.

    Thanks and best regards,

    Tobias

    • Hi Tobias,

      Unfortunately, SSH is not on our roadmap. May I ask why you're using it?

      We’re working on our Bitbucket support. At the moment,  you can already connect to Bitbucket (cloud) through HTTPs. Webhooks, however, are still only available for GitHub.

      For GitHub, we support personal access tokens.

      Best regards,

      Sarah

  • Hi Sarah,

    First of all I would like to thank you for this blog entry, I am very happy to see that SAP is continiously improving the SAP Cloud Platform services.

    During the setup of CI/CD pipeline I am getting an error message it says that sending telemetry is disabled (see below). I am using the jobeditor and there is no option to activate or deactivate it.

    Also in the troubleshooting page I was not able to find some details regarding this problem.

     

    Could you please help? I am using bitbucket..

    Thank you,

    Yasin

     

    [2020-10-27T06:53:56.337Z] Using the config from .pipeline/config.yml file from source repository
    [2020-10-27T06:54:10.220Z] --- Begin library step of: setupCommonPipelineEnvironment ---
    [2020-10-27T06:54:11.107Z] Loading configuration file 'cicdCustomDefaults.yml'
    [2020-10-27T06:54:11.981Z] --- Begin library step of: piperLoadGlobalExtensions ---
    [2020-10-27T06:54:12.171Z] --- End library step of: piperLoadGlobalExtensions ---
    [2020-10-27T06:54:12.241Z] Stashed 3 file(s)
    [2020-10-27T06:54:12.453Z] [setupCommonPipelineEnvironment] Sending telemetry data is disabled.
    [2020-10-27T06:54:12.639Z] ----------------------------------------------------------
    [2020-10-27T06:54:12.654Z] --- An error occurred in the library step: setupCommonPipelineEnvironment
    [2020-10-27T06:54:12.662Z] ----------------------------------------------------------
    [2020-10-27T06:54:12.670Z] 
    [2020-10-27T06:54:12.678Z] The following parameters were available to the step:
    [2020-10-27T06:54:12.687Z] ***
    [2020-10-27T06:54:12.702Z] *** to show step parameters, set verbose:true in general pipeline configuration
    [2020-10-27T06:54:12.710Z] *** WARNING: this may reveal sensitive information. ***
    [2020-10-27T06:54:12.720Z] ***
    [2020-10-27T06:54:12.728Z] 
    [2020-10-27T06:54:12.736Z] The error was:
    [2020-10-27T06:54:12.743Z] ***
    [2020-10-27T06:54:12.751Z] CpsCallableInvocation{methodName=call, call=com.cloudbees.groovy.cps.impl.CpsClosureDef@2e7fd6ae, receiver=org.jenkinsci.plugins.workflow.cps.CpsClosure2@2ec09cbe, arguments=[3]}
    [2020-10-27T06:54:12.759Z] ***
    [2020-10-27T06:54:12.767Z]
    • Hi Yasin,

       

      the telemetry data log entry is just an information. It is switch off in the service.

      Your problem was an Cps error when using Bitbucket, but that should be fixed already in the Service.

       

      Best regards,

      Thorsten