ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

GitHub Actions සමඟ ශාඛා‑අධාරිත CI/CD: සොනාර් කුවෙට්, Docker, බහු පරිසර Deploy නව රූපරේඛාව

GitHub Actions සමඟ ශාඛා‑අධාරිත CI/CD: සොනාර් කුවෙට්, Docker, බහු පරිසර Deploy නව රූපරේඛාව

දැනටමත් කේතය ශාඛාවකට පතුරුවූ පසු, එය ස්වයංක්‍රීයව Docker රූපයක් බවට පරිවර්තනය කර, ආරක්ෂා පරීක්ෂණය කර, නිශ්චිත පරිසරයට (dev, staging, production) නිකුත් කරන ක්‍රමයක් බොහෝ සංවර්ධකයන්ට අවශ්‍යයි. මේ අරමුණ සපුරාලීමේදී, ගිට්හබ් ඇක්ශන්ස් භාවිතා කරමින් අලුත්ම, පනතුරැ, නැවත භාවිතා කළ හැකි පදනමක් මෙහි විස්තර කරයි.

සමීප වශයෙන් විසඳුම – ශාඛාවක කේතය ගුණාත්මක ගේට් (SonarQube) පරීක්ෂණය සමත් වූ විට, Docker රූපය ගොඩනඟා, අනතුරුදායකතා පරීක්ෂණය කර, එම ශාඛාවට අදාළ පරිසරයට (develop → dev, staging → staging, main → production) SSH මඟින් නිකුත් කිරීම. Production පරිසරය සඳහා මනුෂ්‍ය අනුමැතියක් අවශ්‍ය වේ.

පැරණි පරිදි සැලසුම් කරන්නේ සෑම පරිසරයක් සඳහාම වෙනම workflow ගොනුවක් තබා, ඒවා ස්වාධීනව ක්‍රියාත්මක කිරීමයි. එය කාලයත් සමඟ ගොනු තුනම වෙනස් වෙමින්, අලුත්ම යාවත්කාලීන එකක් අමතක වීමේ අවදානම වැඩි කරයි. එමෙන්ම රහස් (secrets) නකල් කිරීමේ ගැටළුවත් පවතී.

Workflow_run ගැටළුව සහ එහි අඩුපාඩු

"workflow_run" ට්‍රිගර් භාවිතා කර "A පසු B" යන සම්බන්ධතාවය සකස් කිරීම නිතර සිදු වේ. නමුත් මේ ක්‍රමයට දෙකක් වැදගත් නියමයන් තිබේ. පළමුව, එය කෙලින්ම default branch එකේ පමණක් සක්‍රිය වේ. ඔබගේ default branch "main" නම්, develop ශාඛාවේ තිබෙන deploy.yml ගොනුව එහි නොපැමිණීම නිසා ට්‍රිගර් ලියා නොදැකේ. දෙවැනි නියමය, branches ෆිල්ටරය upstream workflow හි head branch එකට ගැලපෙයි; pull_request මගින් ධාවනය වන විට source branch (feature/x) එකට සීමා වේ, එමනිසා develop සඳහා සකස් කළ filter එක කාලයෙහි ක්‍රියා නොකරයි.

Reusable workflow (workflow_call) එකේ වාසිය

"workflow_call" භාවිතා කළ විට, කැලැක් කරන workflow එකේ ref (branch) අනුව ගොනුව ලබා ගනී. එනිසා default branch එකේ පදනමක් නැත, ශාඛාව අනුව නිවැරදි ගොනුව ලැබේ. දෙකම එකම run graph එකේ දිස්වන බැවින්, quality check අසමත් වුවහොත් deploy පියවර ස්වයංක්‍රීයව නවතී.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තරුණ සංවර්ධකයන්, startups, සහ IT සේවා සපයන්නන් සඳහා මෙම පදනම බොහෝ ප්‍රතිලාභ ලබා දේ.

  • වේගවත් නිෂ්පාදනය: කේතය ශාඛාවකට push කිරීමෙන් පසු, සියලු පියවර ස්වයංක්‍රීයව සිදු වීම නිසා නිෂ්පාදන කාලය අඩු වේ.
  • ආරක්ෂිත නිකුත් කිරීම: Docker image scanning මගින් දුර්වලතා හඳුනාගෙන, production වෙත යැවීමට පෙර සකස් කරයි.
  • රහස් කළමනාකරණය: GitHub Environments භාවිතයෙන් රහස් (secrets) එකම ස්ථානයේ සුරක්ෂිතව තබා, පරිසර අනුව වෙනස් කළ හැක.
  • ආදායම් වර්ධනය: ස්වයංක්‍රීය CI/CD මඟින් සේවාදායකයන්ට වේගවත්, අඩු දෝෂ සහිත නිෂ්පාදන ලබා දීමෙන් ව්‍යාපාරික විශ්වාසය වැඩි වේ.

අවසන් වශයෙන්, මෙම පදනම GitHub Actions භාවිතයෙන් CI/CD පද්ධතියක් සකස් කර ගැනීමට අවශ්‍ය සියලු උපාංග එක් කරයි. ඔබේ කේත ගුණාත්මකභාවය, Docker රූප ආරක්ෂාව, සහ නිකුත් කිරීමේ ක්‍රියාවලිය එකම workflow එකෙන් පාලනය කරගත හැකි නිසා, දෝෂ අවදානම අඩුවේ, කාර්ය සාධනය ඉහළ යයි.

💡 ඔබේ CI/CD පද්ධතියට මේ රූපරේඛාව අදම අනුගමනය කරන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#CI/CD #GitHub Actions #Docker #DevOps #Sri Lanka