බොහෝ සංවිධාන Gitflow ක්රමය අනුගමනය කරමින් නව සංස්කරණයන් නිර්මාණය කරයි. නමුත් ඉතා වැදගත් නිෂ්පාදන දෝෂයක් හමුවේ, එම ක්රමයේ සැඟවුණු ගැටලුව පෙනෙයි.
අපිට අගහරුවාදා උදෑසනකදී නිෂ්පාදනයේ බරපතළ බග් එකක් හමු වුණා. සාමාන්ය Gitflow පිළිවෙත අනුව, ටැග් එකකින් hotfix ශාඛාවක් තැනා, එය release ශාඛාවට PR කරලා, pipeline එක හරහා QA, UAT, prod යන පියවර ගත කළා. ඉන්පසු ඒ commit එක main ටැග් කරලා develop වෙතත් චෙරි-පික් කළා.
කොහොමද මේක ප්රශ්නයක් වුණේ කියලා බලන්නෙ, release ශාඛාවේ ඒ අවස්ථාවේ පවතින අසත්ය කේතයයි. තවත් ත්රි-සප්රින් වැඩක් QA තලයේ රැඳී ඇති අතර, hotfix එක එම අනිත් කේතය සමඟ එකතු කරලා යාම නිසා, release ශාඛාවට විශ්වාසයක් නැත. ඒ නිසා පිරිසිදු ගේට් පසුබැසීමක් නොව, අඩු‑මට්ටමේ පරීක්ෂණයක් පමණයි.
අපේ විසඳුම නම් hotfix ශාඛාවෙන්ම UAT slot එකට deploy කරලා, production data සමඟ smoke test එකක් කරලා, slot එකක් මාරු කිරීම. එවිට release ශාඛාවේ බර නැතිව, කෙටි කාලීන තහවුරු කිරීමක් පමණක් අවශ්ය වේ. ඒක සාර්ථක වුවහොත්, commit එක develop සහ main දෙකටත් cherry‑pick කරලා, CI පද්ධතියට අලුත් pipeline එකේ තනිමාරු වීමට ඉඩ දෙනවා.
චෙරි‑පික් කිරීමේ අභියෝගයත් අමතක නොකළ යුතුයි. මනෝවිඝාතය ඇති වේලාවේ මනුෂ්යයෙක් ගොඩනැගීම් ගැටලුවක් අත්හරිනවා නම්, තවත් ත්රි‑සප්රින් දෝෂයක් පසුගිය සතියේ පෙන්වයි. ඒ නිසා cherry‑pick කාරකය PR එකක් ලෙස CI මගින් පරීක්ෂා කරලා, මනෝවිඝාතය අඩු කරන්නේය.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික ආයතන, startup සහ විශ්වවිද්යාල සිසුන්ට මෙම පදනම ඉතා ප්රයෝජනවත්. ඉක්මන් hotfix ක්රියාවලියක් නිසා සේවා බිඳවැටීමේ කාලය අඩුවේ, ව්යාපාරික ආදායම රැකගැනීමට උදව් කරයි. එසේම, CI/CD පද්ධති සැලසුම් කිරීම, cherry‑pick PR ක්රමය ආදිය ඉගෙන ගැනීම මඟින් දැනුම වර්ධනය වේ. අවසානයේ, ගෝලීය DevOps ප්රථමතාවයන්ට සමීපවීමෙන්, ශ්රී ලංකාවේ තාක්ෂණික නිෂ්පාදන තත්ත්වය ඉහළ යයි.
ඉතින්, hotfix පථය සාමාන්ය release පථයේ සරල සංස්කරණයක් ලෙස නොබලන්න; එය අවශ්යතා අනුව කෙටි, නිරවද්ය, CI‑ගාරය මගින් ආරක්ෂිතව සැලසුම් කළ යුතුය.