ඔබගේ ලැප්ටොප් එකේ පවා හොඳින් ධාවනය වන යෙදුමක්, CI (Continuous Integration) පද්ධතියේ පළමු ධාවනයේදී රතු තීරුවක් පෙන්වන්නේ ඇයි? හතුරුකාරී කේතයක් නොව, පරිසර ගොනුවක් ( .env.example ) නිවැරදි නොවීම නිසාය. මේකෙන් පෙනෙන්නේ, පිරිසිදු පරිසරයකින් ආරම්භ කරන CI එක, ඔබේ දෛනික වැඩ පරිසරයේ සැඟවුණු වැරදි හඳුනා ගන්නෙ කෙසේද කියලා.
ලිඛකයා විසින් සිදුවූ සිදුවීම් සරලව පැහැදිලි කරමු. ඔහු සමාන ආකාරයකින් සකස් කරන ලද පයිප්ලයින් එකක් හතරේම රෙපෝසිටරීන් සඳහා සකස් කරයි: නව checkout, .env.example ගොනුවක් .env ලෙස පිටපත් කිරීම, dependencies ස්ථාපනය, පරීක්ෂණ ධාවනය සහ dependency audit එකක්. මේ පයිප්ලයින් එක පරිසරයේ පවතින .env ගොනුවක්, node_modules, cache වැනි අංග වලින් තොරව පූර්ණයෙන්ම නව පරිසරයක් මත පදනම් වේ.
දෝෂ වර්ග 1 – .env.example ගොනුවේ වැරදි – දෙකේ රෙපෝසිටරීන්හි APP_NAME=My App වැනි අගයන් හි අළුත් ඉඩක් (space) අනිවාර්යයෙන්ම කොට්ටා නොමැතිව තිබුණා. dotenv පාර්සර් එක එවැනි ගොනුවක් කියවීමට ඉඩ නොදෙයි. ඔබේ පරිසරයේ පරණ .env ගොනුවක් තිබුණා නම් මෙය ගැලපෙයි, නමුත් CI එකේ .env.example ගොනුව පටන් ගත යුත්තේ නිසා පළමු පරීක්ෂණයත් සමඟම යෙදුම ක්රියා නොකෙරේ.
දෝෂ වර්ග 2 – හිස් වාරිකයක් – තවත් රෙපෝසිටරියේ අත්යවශ්ය encryption key එක .env.example හි හිස්ව තිබුණා. ඔබගේ පරිසරයේ ඇත්තේ නිශ්චිත key එකක් තිබුණා බැවින් යෙදුම සාර්ථකව ආරම්භ වුණා, නමුත් CI පද්ධතියේ නව checkout එකේ එම වාරිකය නොමැති නිසා යෙදුම අසාර්ථකව පැන ගියේය.
දෝෂ වර්ග 3 – dependency audit ගතවූ අනතුරු – CI පයිප්ලයින් එකේ npm audit ක්රියාවලිය ක්රියාත්මක කරමින්, එක් රෙපෝසිටරියක Vite build tool chain එකේ උච්ච තීව්රතාවයක් (high severity) ගැලපුණා. මේවා සාමාන්යයෙන් පරීක්ෂා නොකෙරෙන නිසා, CI පද්ධතියේ gate එකේ පසුබැසීමක් නොවී පවතිනවා.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්, ස්ටාට්අප් ආරම්භකරුවන් සහ ව්යාපාරිකයින් සඳහා CI එකේ වැදගත්කම මෙසේය:
- පරිසරයේ සැඟවුණු .env ගැලපීම් හඳුනා ගනිමින් “Works on my machine” තත්ත්වය අඩු කරයි.
- අවශ්ය වාරිකයන් පිළිබඳ ලේඛන නොමැතිකම හඳුනා ගනිමින්, නව සංවර්ධකයින්ට onboarding සරල කරයි.
- dependency audit මගින් ආරක්ෂක තර්ජන පෙරහැරේ හඳුනාගැනීම, දේශීය ආයතනවල cyber security පවත්වා ගැනීමට දායක වේ.
- CI පද්ධතියේ ස්වයංක්රීය පරීක්ෂණ මගින් කාලය හා සම්පත් ඉතිරිකර, ව්යාපාරික නිෂ්පාදන වේගය වැඩි කරයි.
අවසන් වශයෙන්, CI එකක් එක් කිරීම සරල පියවරක් පමණක් නොව, ඔබේ කේත ගබඩාවේ සැඟවුණු වැරදි හෙළි කර, ගුණාත්මක සොෆ්ට්වෙයා නිෂ්පාදනයක් ලබා දීමට මූලික තීරණයක් වේ. ඔබත් අදම CI එකක් ක්රියාත්මක කර, “කොඩ්” පදනමෙන් පසු සැඟවුණු ගැටළු අතහැර දමන්න.