Columbia Games · CCM v2 / 2026. augusztus 26.
Kivettük a deployment logikát a GitHub YAML-ból, hogy végre rendesen tesztelhető legyen
A production workflow túl sok shell logikát hordozott inline YAML-ban. A tényleges deploy döntések verziózott, self-testelt szerver scriptbe kerültek, a workflow pedig vékony SSH launcher lett.
A helyzet
CI YAML-ban gyorsan lehet shellt írni, de egy pont után a workflow egyszerre orchestration, business rule és deployment program. Nehezen futtatható lokálisan, nehéz rá regressziós tesztet írni, és a quoting hibák csak GitHub runneren jönnek elő. A CCM production pipeline elérte ezt a határt.
A megoldási út
A szerveroldali változásdetektálást, migrációs sorrendet, build/restart döntést és ellenőrzéseket külön scriptbe vittem. A GitHub workflow feladata a credential, artifact és SSH orchestration maradt. A server script külön shell regression és self-testeket kapott, így a flag parsingot és fail-safe viselkedést CI-ben lehetett bizonyítani.
Mi lett belőle
A YAML rövidebb és olvashatóbb lett, a veszélyes deployment logika pedig normál verziózott kóddá vált. Egy parserhiba vagy új flag már PR-ben tesztelhető volt anélkül, hogy valódi production futást kellene feláldozni kísérletnek.