fabianlupa / ci-lib

Continuous Integration Library (TESTING)
MIT License
12 stars 1 forks source link

Concept #1

Open fabianlupa opened 5 years ago

fabianlupa commented 5 years ago

image

image


Problems:

fabianlupa commented 5 years ago

On AS ABAP Developer edition the CTS_*_FEEDBACK BAdIs are not called with the default TMS configuration. This can be solved by creating a virtual system, a transport route + layer and changing the transport layer of the package. image

fabianlupa commented 5 years ago

Client handling:

-> CTS_*_FEEDBACK should call a handler using RFC on DEV with a fixed development client, logging in the handler can be done with BAL, error logging in the BAdI implementation should only use the syslog because no one will check SLG1 in client 000.

fabianlupa commented 5 years ago

Regarding LIMU-METH / CLASS locks: In SE01 there is a button to convert subojects into their parent "full" objects inside of a transport request. Unfortunately only works for TOC. image

larshp commented 5 years ago

I'd like to know possible merge issues as soon as possible, so suggest having the tooling give an error if someone changes the same object in 2 different branches.

fabianlupa commented 5 years ago

I agree, merge conflicts would make things very difficult. For most object types the exclusive locks of workbench objects in transports should already be enough (assuming released transport = merged branch). For some subobjects or really anything where abapGit serializes one file for an object type for which individual parts can be transported on their own there needs to be some kind of lock mechanism or warning/error. IF_EX_CTS_REQUEST_CHECK~CHECK_BEFORE_ADD_OBJECTS should be able to do this.

larshp commented 5 years ago

Some years ago I made some drawings regarding different branching concepts, https://github.com/larshp/abapGit-flow If the transport is released, but not imported on all systems I'd like to keep the branch "open". And also discover if somebody changes something that is part of a non-imported transport, however it quickly gets complicated

fabianlupa commented 5 years ago

I thought about having a branch for each system and visualize the route transports take in git that way. But as you said it gets quite complex very fast. I'd already be happy if this works out. For keeping track of transports in GitLab/GitHub the generated comments and possibly PR/issue-labels or a generated wiki page with a table of transports and their status and links to Transport Organizer Web UI should be enough.