In this Blog I will be covering how to set up TEST System and how the Objects can be moved from DEV system to TEST System using GitHub. Below listed diagram explains my scenario.
Key steps to achieve the use case are listed as :
Set up DEV System and TEST System
Automatically Push the Objects from DEV System to GitHub Repository
Single Branch in GitHub: Master Branch is created in GitHub Repository and is kept as default active branch in both the systems (Default branch is set in gCTS App) .
Automatically Pull of Objects in TEST System as and when commit happens in Master Branch
Let's cover the above listed points in detail along with learnings and issues
Set Up of DEV and TEST System: Firstly gCTS app is configured and enabled in both the systems
In TEST System only difference would be that while creating Repository you need to choose Role as Provided as shown below
While creating Repository in TEST System ; use the same vSID as used in development system .
After the repository is CLONED in TEST System (Click on Clone Repository inside Repository); it will replicate the GiHub Repository to your local system .
In TEST System when we were doing Clone Repository ; it was going into below error
We upgraded the TEST System Kernel to the latest patch, and it resolved the issue.
2. Push the Objects to GitHub: Now when Git Enabled TR is released in DEV system / You manually push the objects from gCTS app in DEV System; objects will be moved to the GitHub Repository (In our case it will be available in the Master Branch)
But it doesn't do any syntax check on the Objects that are pushed to GitHub so in case any referred object in TR is missing it will still do the PUSH to GitHub Repository
3. GitHub Repository: Now when the commit happens in your Master Branch in GitHub; pull will be triggered in the TEST System.
4. Pull in the TEST System: Contents from GitHub to TEST System are moved in form of Transport of Copies (TOC) where you TR number will start with Virtual System Id vSID* that was given while creating Repository.
All imported TRs will be available in transaction STMS_IMPORT as well
Example below TR is the TR that got imported into my TEST System AND it starts with G20* which is vSID .
So in this blog post I have covered simple use case pf Push and Pull scenario using gCTS. Since it's just beginning; I am sure lot more to discover when we will implement end to end CI and CD framework.
Please do share your learnings while working on CI and CD Set up in S/4HANA.