In this project we describe a process to develop SAP Data Intelligence (SAP DI) solutions using Git and to build, test, and deploy them using Continuous Integration and Delivery (CI/CD) tools. The provided guides describe best practices and can be adapted to the specific needs of your development environment.
The following guides and tools have been published for the following SAP DI versions and above:
- SAP Data Intelligence 3.0 (on-premise edition)
- SAP Data Intelligence DI:2003 (cloud edition)
The environment for the Git workflow and the CI/CD process consists of the following systems and tools:
- SAP Data Intelligence
- One or several development tenants
- A single test tenant
- The System Management Command-Line Client (vctl)
- Git Repository (e.g., on GitHub or GitHub for Enterprises) to keep the solution artifacts tracked in Git
- Build Server (e.g., Jenkins) to run the vctl commands of the CI/CD pipeline
The end-to-end development workflow can be summarized as follows:
- Development: A developer will create/update/delete graphs, operators, or dockerfiles using the SAP Data Intelligence Pipeline Modeler. All changes are visible in the user workspace of SAP Data Intelligence (
/vhome
). - Git Usage: The developer is using the VSCode application to interact with the Git repository (i.e.,
git add <graph-artifact>
,git commit
). - Git Push: Once the developer has reached a working state, he pushes the changes to the repository
- Build Solution: The build server listens to changes on a specified branch and triggers a new build job. The job will fetch the latest changes to the build server and build a solution package from the tracked project files.
- Install Solution: The build server installs the solution on a configured test tenant.
- Test Solution: The build server executes a configured test graph using the SAP Data Intelligence Pipeline instance on the test tenant.
To implement the Git workflow and the CI/CD process just follow the guides below:
- Installation of the VSCode Application
- Implementing a Git Workflow to develop solutions
- Configuring a CI/CD pipeline to build, test, and deploy solutions.
This project is not part of the SAP Data Intelligence product. It provides best practices to implement a Git workflow on development environments.
Feel free to send us feedback and open bugs in case of problems. We will update the guides as new SAP Data Intelligence versions are published.