With launch of much awaited gCTS app in 2019 SAP has taken a step forward towards Continuous Integration. gCTS makes use of special Git features , changes in the objects are still recorded in Transport Requests . We can move the objects to remote Git repositories i.e. “Push Objects” either by releasing the Transport Request or while working on the objects.
Sounds quite easy right? Yes, it is, we will see how to use gCTS in this Blog.
Key Pre requisites for having gCTS app working are:
- S/4HANA EM 1909 FPS00
- JVM Version should be 1.8 or higher
- You have GitHub account ( in case your Enterprise has its own private GitHub , you can use the same too )
- gCTS app is activated and you have the required role assigned to your user as per Fiori Library
Let us see sequence of key steps that are required to push objects to remote Git repositories:
- Maintain Configuration : Before you create repository ; maintain the configurations
- VCS_PATH : It need to be set to proper directory path in order to clone repositories on OS level. In case you do not provide any value for configuration parameter VCS_PATH, the application will not create any directory on OS level and expects that the directory already exists
- A2G_RUNTIME: Communication application for remote repository on the OS layer
- JAVA_RUNTIME: Path to the java environment on OS layer .
2. Create Repository:You need to register repository on ABAP system before you can push objects to Git repositories.
The creation part of a repository is just a registration process and the opportunity to provide further configuration before clone
You also need to maintain Configuration for Repository ( Configuration tab in repository) by maintaining below parameters before saving Repository .
Click on Save to create Repository.
- Initialize System : In case ABAP system is the domain controller, then choose initialize system on the main page of app. This schedules gCTS services and all the required settings for Transport Management System are done. The system will automatically create the non-ABAP system and a transport layer that will be used to transport objects that are part of packages managed by gCTS. The transport layer follows the naming convention Z+<vSID>
Now when you create objects that are required to be moved to Git Repository; assign Transport layer to objects as Zvsid (the one that was created above)
4. Clone Repository :All update or change actions are disabled as long as the repository was not cloned.
The cloning process copies the file structure of the remote repository to the file system of your ABAP system and imports the content to the local repository on the file system. Note that this process may take some time, depending on the size of the repository
Once the Repository is created successfully, status will be changed from ‘CREATED’ to ‘READY’ at the top of Repository
Once the clone Repository is successful, Clone Repository button will be disabled. You can check the results of cloning process in Logs tab.
Now when the transport requests are released in then ABAP system; the objects will automatically be pushed to the remote repository on the Git Server.
5. Push Objects : You can also push objects manually; where the Transport request of objects are not released yet. Go to Objects tab in the repository and click on “+”
P.S: + button is only enabled when your repository status is in ‘READY’.
Now enter the name of object /package that you would like to push manually and click on Push button as shown. It will automatically create Transport of copies having the object and will automatically release the TR in the backend
You can also use this app to import objects from Repository to your SAP S/4HANA system as well .
To summarize ; in this blog post we have seen how using gCTS app you can push the objects to Git repositories once the basic settings as mentioned above are in place .
Please share your thoughts and any additional points you think we can add .