සොෆ්ට්වෙයා සංවර්ධකයෙක් තමන්ගේ CI/CD පද්ධතියේ “ග්රීන්” පරීක්ෂණයක් පමණක් විශ්වාස කරමින්, නිෂ්පාදනයේ සැබෑ ක්රියාකාරිත්වය නොදැන සිටි අත්දැකීමක් ගැන ලියන ලද්දේ ඉතා අමුතුම පළිගැනීමක් නිසාය.
කොච්චර කාලයකට පෙර, ලේඛකයා "පළමු මර්ජ් කරන PR එකේ DoD ලැයිස්තුව හරියට පිරී තිබිය යුතුය, එත් ක්රියාත්මක නොවන flow එකක් තිබිය නොහැක" කියන නීතියක් සොෆ්ට්වෙයා රැකවරණ ශෙල්ෆ් එකේ ලියලා තබා තිබුණා. ඒ නීතියේ තත්වය සම්පූර්ණයෙන්ම ග්රීන් CI පරීක්ෂණයක්, සෑම DoD කොටසක්ම සලකුණු කර ඇති බවයි. නමුත්, එය ලේඛකයාගේ ලිපිය ප්රකාශයට පත් කළ දෙදිනකින්ම සත්ය වශයෙන් ක්රියාත්මක වුණා.
ඇයි මෙය වැදගත්?
PR එක මර්ජ් වුණා, CI පයිප්ලයින් එක ග්රීන් වුණා, සියලු DoD කොටස් සලකුණු කර තිබුණා. ඒත් යෙදුම නඩත්තු කිරීමේ වස්තුවේ තුනක් අඩංගු වැරදි පෙන්වා දුන්නේ නැති බවයි:
- ආරම්භක වේලාවේ shared/ ෆෝල්ඩරය නොමැති නිසා, JSON රෙජිස්ට්රිය කියවීමට නොහැකි වී, කන්ටේනරය පළමුවැනි වාරයේම බිඳ වැටුණා.
- එකම දිනයේ එකම සංස්කරණ අංකය සමඟ මයිග්රේෂන් දෙකක් එකතු වීම නිසා, ප්රාථමික යතුර (primary key) ගැලපීමේ ගැටළුවක් ඇති වුණා; දත්ත ගබඩා නැවත සකස් කිරීමේදී දෝෂයක් පෙන්වා දුන්නා.
- ඉහත දෙකම නිසා, දත්ත තීරුවල කෝලම් නොපැවතිනිසා, API අන්තර්ගතය 500 දෝෂයක් දක්වා පෙන්වා දුන්නා.
CI පරිසරය සෑම පරීක්ෂණයක්ම “ග්රීන්” ලෙස වාර්තා කළා, නමුත් නිෂ්පාදන පරිසරයේ යථාර්ථ flow එක පරීක්ෂා නොකළ නිසා මෙම වැරදි පෙනී නොගියහ. ඒ නිසා, “ග්රීන් CI = ක්රියාත්මක යෙදුම” යන වැරදි අදහස ඉවත් කර, “launch evidence” (ආරම්භක සත්ය ඡේද) එකක් PR එකේ ඇතුළත් කිරීම අත්යවශ්ය බව තේරුම් ගත්තා.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලාංකීය සංවර්ධකයන්, ආරම්භක සමාගම්, විශ්වවිද්යාල සිසුන් සඳහා මෙම අත්දැකීමේ පණිවිඩය ඉතා වැදගත්:
- CI/CD පද්ධතියේ ග්රීන් වර්ණය පමණක් විශ්වාස නොකර, නිෂ්පාදන පරිසරය සමඟ සමාන Docker image එකක් නිර්මාණය කර පරීක්ෂා කිරීම අත්යවශ්ය.
- “launch evidence” ලෙස curl ප්රතිචාරය, ස්ක්රීන්ෂොට්, DB reset ලොග් වැනි සත්ය ඡේද ඇතුළත් කිරීම, PR එකේ අනුමත කිරීමේ අවශ්යතාවය තහවුරු කරයි.
- දෝෂ සොයා ගැනීමේ වේගය වැඩිවීම, ව්යාපාරික ගාස්තු අඩු කිරීම, පාරිභෝගික විශ්වාසය වැඩි කිරීම වැනි ප්රතිඵල ලැබේ.
මෙම ක්රමය ශ්රී ලංකාවේ තාක්ෂණ ආරම්භකයන්ට ගුණාත්මක නිෂ්පාදන නිකුත් කිරීමේ මාර්ගය සපයයි. ඉන්පසු, දෝෂ හඳුනා ගැනීමේ “තත්පර” ගණන අඩුවීම නිසා, වෙළඳපලට ඉක්මනින් පිවිසීමට හැකියාව ලැබේ.
අවසන් වශයෙන්, “මැෂීන් නීති ක්රියාත්මක කිරීම” යන නීතිය ලේඛකයාටම පැන වැටුනේ, නමුත් එය අත්දැකීමේ හොඳම පඬික්කම විය. නීතියක් “ඔබේ රුධිරයෙන්” නොපිළිවෙළ නම්, එය “හොඳ අදහසක්” පමණයි; නමුත් මේ වරට, නීතියේ පීඩා සත්යය විය.