És egy önálló commit nem értelmezhető egy deployolható egységként, mert vagy hiányzik a funkció másik fele egy másik repóban, vagy egyszerűen egy befejezetlen munkáról van szó.
És? Akárhányszor meg tudom kérdezni, hogy ha van egy commit, a build lemegy, minden környezetben zöld minden teszt, akkor miért ne menjen ki élesre a változás?
Befejezetlen munka nem megy el az élesig, mert a teszteken nem megy át.
Ha hiányzik a funkció másik fele, akkor
a, az API verzió miatt ebből semmi gond nincs, kimehet élesbe,
b, addig nem megy át a teszteken, amíg nincs kész a másik fele.
Az egyik legfontosabb CD princípium az, hogy nem várunk össze két változást, minden változás deployable production környezetben automatikusan, ha minden teszten átmegy. A második legfontosabb CD princípium az, hogy a technikai élesítés és az üzleti élesítés nem egy időben történik. Ezek amúgy jól le vannak írva azon az oldalon is, amit beidéztél, csak szerintem nem olvastad el végig. Az üzleti terület nem akasztja meg a CD folyamatot. Az üzlet arról dönt, hogy egy feature mikor élesedik üzletileg.