GitHub Actions භාවිතා කරන අලුත්කාරීන් අතර බොහෝ දෙනා රහස් (secrets) ගොනුවේ වැරදි තැනක තබා, ඩිප්ලෝයිම් ක්රියාවලිය රහස් කියවීමට නොහැකි වීමේ ගැටළුවට මුහුණ දෙති.
GitHub Actions තුළ රහස් තට්ටු තුනක් පවතියි. පළමු තට්ටුව “Repository Secrets” වන අතර, රෙපොසිටරියෙහි සියලු workflow වලට ප්රවේශයක් ඇත. මෙහි CODECOV_TOKEN වැනි API key හෝ පරීක්ෂණ සඳහා අවශ්ය නොවන අගයන් ගබඩා කළ හැකිය.
දෙවැනි තට්ටුව “Environment Secrets” වේ. ඔබ job එකක් විශේෂිත environment එකකට (staging, production) යොමු කරන විට පමණක් මේ රහස් ලබා ගත හැක. DB_PASSWORD, SSH_PRIVATE_KEY, APP_KEY වැනි environment‑අධාරිත රහස් මෙහි තබයි.
තුන්වැනි තට්ටුව “Variables” ය. මෙය රහස් නොවන, පැහැදිලි ලෙස ලොග් වලට පෙන්වන අගයන් සඳහායි. APP_URL, APP_ENV වැනි සැකසීම් මෙහි සුරකින්න.
.env.example ගොනුව “කොන්ට්රාක්ට්” වශයෙන් සැලකේ. ඔබගේ යෙදුම කියවෙන සෑම key එකක්ම මෙහි දැක්විය යුතුය, එවිට CI workflow එක එය පිටපත් කර, අවශ්ය අගයන් පුරවා ගනී. රහස් අගයන් (APP_KEY, DB_PASSWORD, STRIPE_KEY) හි පූරණය හිස්ව තබා, CI හෝ සංවර්ධකයා විසින් පුරවා ගත යුතුය.
YAML ගොනුවේ රහස් සෘජුව ලියීම වැරදි ආකාරයකි. DB_PASSWORD: supersecretpassword123 වැනි ලියා ඇති විට Git ඉතිහාසයේ සදාකාලිකව පෙනේ. ඒ වෙනුවට ${{ secrets.DB_PASSWORD }} ලෙස භාවිතා කරන්නේ ආරක්ෂිත ක්රමයකි.
Laravel Passport භාවිතා කරන විට RSA key pair (oauth-private.key, oauth-public.key) .gitignore කර ඇත. CI පරිසරයේ ඒවා නිතරම නවයෙන් ජනනය කර, php artisan passport:keys --force කමාන්ඩ් එකෙන් ක්රියාත්මක කරන්න. නිෂ්පාදනයේදී ඒ key‑වල base64‑කේතනය කර GitHub environment secret ලෙස සුරකින්න, deploy script එකේ decode කර ගන්න.
Deploy job එකේ environment: production යොදා ගැනීම production environment secret අනුලබ්ධ කරයි. එය නොකළහොත් job එක repository‑level secret පමණක් පවත්වයි. SSH action එකේ VPS_HOST, VPS_SSH_KEY වැනි රහස් ${{ secrets... }} ලෙස යොදා ගත යුතුය.
ශ්රී ලංකාවට ඇති වැදගත්කම
- ශ්රී ලංකාවේ විශ්වවිද්යාල සිසුන් CI/CD ප්රතිපත්තියක් ඉගෙන ගැනීමට ප්රායෝගික උදාහරණයක් ලැබේ.
- ලෝකය පුරා සේවාවන් සපයන සංවර්ධකයන්ට රහස් කළමනාකරණය නිවැරදිව කරගැනීමේ මාර්ගෝපදේශයක් ලැබේ.
- ලෝකීය තාක්ෂණික සමාගම් සමඟ වැඩ කරන ශ්රී ලාංකීය ව්යාපාරිකයන්ට ආරක්ෂිත deploy pipeline එකක් සකස් කර ගත හැකිය.
ඉදිරියේදී GitHub Actions භාවිතයෙන් zero‑downtime deploy, automated testing, සහ secure secret handling වැනි පූර්ණ CI/CD ක්රමයක් සකස් කර, ඔබේ ව්යාපාරය තරඟකාරී තත්ත්වයට ගෙන යාමට හැකියාව ලැබේ.