SAP Continuous Integration and Delivery for CAP
SAP Continuous Integration and Delivery offers ready-to-use pipelines, specifically for SAP development scenarios. One of those scenarios is developing CAP-based applications and extensions on SAP BTP. In the last couple of months we spent some time to polish that use case.This blog post gives an overview of recent changes.
Configuration-as-Code vs. Job Editor
We’re big fans of configuration-as-code: Pipeline configuration resides with the source code, gets versioned, reviewed and validated on change. On the other hand … not everybody loves yaml files and sometimes, you’d like to have an easier start. That’s why we added a web-based job editor to the service to simplify pipeline configuration. Added bonus: you can start with the job editor, then export the configuration yaml later and store it with your code!
To use the job editor, create a new job and select Job Editor from the Configuration Mode drop-down. There ya go!
Additional Deployment and Build Options
CAP offers a lot of flexibility: You can use the MTA Build Tool (MBT) to create multitarget applications (MTA) and deploy to Cloud Foundry using the cf deploy command. Or decide not to use MTA and deploy native Node.js or Java-based apps. Whichever approach you chose, SAP Continuous Integration and Delivery covers all options. Just bear in mind, in case you want to integrate with SAP Cloud Transport Management you will need to use MTA.
To select one of the build options, simply create or edit your job, go to the build stage, and select the build tool of your choice from the Build Tool drop-down.
Of course you can configure these build tools in your config.yml in your source code repository as well.
Documentation & Tutorials
To make it easier to find the relevant information for your use cases, we have also added CI/CD topics to the CAP documentation – including also the alternative project “Piper”.
And finally, our colleague Iwona Hahn has published this gorgeous tutorial: Configure and Run a Predefined SAP Continuous Integration and Delivery (CI/CD) Pipeline. It will show you …
… how to enable SAP Continuous Integration and Delivery (CI/CD)
… how to configure a pipeline
… how to create a GitHub web hook
… how to run the pipeline that automatically builds, tests, and deploys your code changes
So, long story short: There’s no excuse for not having CI/CD for your CAP projects anymore! You can try out our CAP pipeline and all of its features in a Trial account or using the new free tier model for SAP BTP.
And if you have feedback or ideas what else should be added to the service, please leave a comment.
Great info. Thanks 👍 . Really liked it.
Thanks for the feedback!
Hi Christoph, great info! But I noticed in the SAP Continuous Integration and Delivery help documentation that the service only supports GitHub, Bitbucket Server and GitLab integrations. Do you know what is the roadmap to support integration with Azure Repos?
Currently it's not on the roadmap. Is anybody else here using Azure Repos? That might help to prioritize it.
Yes, we at ConvergentIS exclusively use Azure Repos. As a partner, we find that many of our new BTP customers do not have subscriptions to Github and we provide our Azure Repos for them. Please prioritize Azure Repos.
Noted, we'll add this to the backlog.
Hi Christoph, could you please let us know if you have any update on the Azure Repos Integration? The customer I work with uses Azure Repos as well and we are currently trying to configure deployment pipelines. I have observed that there are many such customers who use Azure Repos since it is usually part of their DevOps roadmap(ADO). Please prioritize adding Azure Repos as an option in the CI/CD service. Thank you.
No detailed timeline available yet, but we're planning to delivery webhooks for Azure Repos in 2022.
Thanks all for your feedback.
Anoop Pavuluri, Basil Rakasz, Krishna Kishor Kammaje, Fabiano Rosa
The support for Azure Repos has been released:
Link to CAP documentation is broken, here is a correct one - https://cap.cloud.sap/docs/advanced/deploy-to-cloud