Software එකක් හදනවා කියන්නේ හරියට කෑමක් උයනවා වගේ වැඩක්. Developers ලා (Code ලියන අය 👨💻) තමයි ingredients එකතු කරලා recipe එක හදන්නේ. Operations ටීම් එක (Server, network බලන අය 🧑🔧) තමයි ඒ කෑම එක හරියට පිඟානකට බෙදලා කස්ටමර්ට දෙන්නේ.
හැබැයි ඉස්සර මේ දෙගොල්ලෝ වැඩ කලේ ටිකක් වෙන් වෙලා. හරියට කුස්සියේ දෙන්නෙක් දෙපැත්තකට වෙලා වැඩ කරනවා වගේ. 😠 මොකද වුනේ?
මෙන්න මේ ප්රශ්නෙට විසඳුම තමයි DevOps කියන්නේ! ✨
DevOps කියන්නේ එක ලොකු වචනයක් වුනාට, මේක ඇත්තටම සංස්කෘතියක් (Culture), ක්රියාවලියක් (Practices), සහ මෙවලම් (Tools) එකතුවක්.
සරලවම කිව්වොත්, Software හදන (Development) අයයි, ඒක පවත්වාගෙන යන (Operations) අයයි අතර තිබ්බ තාප්ප බිඳලා, දෙගොල්ලොම එකට එකතු වෙලා, මුළු software life cycle එකම (හදන තැන ඉඳන් customer අතට යනකම්) වේගවත්ව 💨 සහ කාර්යක්ෂමව කරන්න හදාගත්ත ක්රමයක්.
🤝 DevOps වල ප්රධාන අරමුණු:
DevOps කියන්නේ හරියට Formula 1 ටීම් එකක් වගේ. Driver (Developer), Pit Crew (Operations), Engineers හැමෝම එකට වැඩ කරලා තමයි race එක දිනන්නේ! 🏁
DevOps කියන සංකල්පය ප්රායෝගිකව ක්රියාත්මක කරන්න පාවිච්චි කරන ප්රධානම එන්ජිම තමයි CI/CD කියන්නේ. මේක DevOps වල Automation කොටසට අයිති වෙනවා.
CI/CD කියන්නේ අකුරු දෙකක් එකතු වෙලා හැදුනට, මේකේ කොටස් දෙකක් තියෙනවා:
Developer කෙනෙක් අලුතෙන් code එකක් ලිව්වම හරි, තියෙන code එකේ වෙනසක් කරාම හරි, ඒ code එක නිතරම අනිත් අයගේ code එක්ක එකතු කරලා (integrate/merge කරලා) ප්රධාන code repository එකකට (Git වගේ) push කරනවා.
ඒ push කරපු ගමන් මොකද වෙන්නේ? 🤔
CI server එකක් (Jenkins, GitLab CI, GitHub Actions වගේ tool එකක්) මේක අඳුනගෙන ස්වයංක්රීයව (automatically) පහල දේවල් ටික කරනවා:
CI වලින් වෙන දේ:
හරියට කෝකියෙක් කෑම එක උයන ගමන් හැම වෙලේම රස බලනවා වගේ. අඩුපාඩුවක් තිබ්බොත් එතනම හදාගන්න පුළුවන්! 😋
CI එකෙන් පස්සේ එන පියවර තමයි මේ. CI එකේදී Build කරලා, Test කරලා 'හොඳයි' ✅ කියලා pass වුන code එක, Deployment එකට සම්පූර්ණයෙන්ම සූදානම් (ready) කරන එක තමයි Continuous Delivery වලින් වෙන්නේ.
ඒ කියන්නේ, build එක හැම test එකක්ම pass වුනොත්, ඒක ඕනෑම වෙලාවක production server එකට (customer පාවිච්චි කරන live environment එකට) deploy කරන්න පුළුවන් තත්වෙට ගේනවා. 📦
හැබැයි, Deployment එක කරන්නේ manually. ඒ කියන්නේ, manager කෙනෙක් හරි, team lead කෙනෙක් හරි බොත්තමක් ඔබලා තමයි deploy කරන්නේ. Release එකට කලින් අන්තිම check එකක් කරන්න, නැත්නම් business එකට ඕන වෙලාවක release කරන්න මේකෙන් ඉඩ ලැබෙනවා. 👀🖱️
මේක Continuous Delivery එකේ ඊලඟ අදියර. මෙතනදී, CI එකෙන් build කරලා, test කරලා pass වුන code එක, කිසිම මනුස්සයෙක්ගේ අතගැහීමක් නැතුව (no manual intervention), ස්වයංක්රීයවම production server එකට deploy වෙනවා. 🤯
CI -> Automated Tests Pass ✅ -> Automatically Deploy to Production 🌍
මේක සුපිරිම advanced ක්රමයක්! හැබැයි මේකට ගොඩක් හොඳ automated testing system එකක් සහ ලොකු විශ්වාසයක් තියෙන්න ඕනේ. හැම පොඩි වෙනසක්ම කෙලින්ම customer අතට යනවා!
CI/CD වලින් වෙන දේ:
CI/CD ක්රියාවලිය වැඩ කරන්නේ Pipeline එකක් හරහා. මේක හරියට factory එකක assembly line එකක් වගේ. එක දිගට සම්බන්ධ වුන, ස්වයංක්රීයව වැඩ කරන steps ටිකක්.
සාමාන්ය Pipeline එකක තියෙන ප්රධාන steps:
මේ හැම step එකක්ම automate කරලා තියෙන්නේ. එක step එකක් fail වුනොත්, pipeline එක එතනින් නවතිනවා, අදාල අයට notification එකක් යනවා. 🚨 එතකොට ඉක්මනටම ප්රශ්නේ හඳුනගෙන හදන්න පුළුවන්.
ප්රසිද්ධ CI/CD Tools කීපයක්:
සරලවම:
DevOps සහ CI/CD කියන්නේ අද කාලේ software හදන company එකකට නැතුවම බැරි දෙයක් වෙලා. මේවා හරියට පාවිච්චි කරොත්, software development process එක ගොඩක් smooth, වේගවත්, සහ quality එකක් බවට පත්කරගන්න පුළුවන්.
හොඳයි මචං, ඔන්න DevOps සහ CI/CD ගැන මූලික හැඳින්වීමක් දුන්නා. මේක මුල විතරයි, මේ මාතෘකාව ඇතුලේ තව ගොඩක් දේවල් ඉගෙනගන්න තියෙනවා. 🤓
කොහොමද පාඩම? තේරුණාද? 😊 මොනවාහරි ප්රශ්න තියෙනවනම් අහන්න, අපි තව කතා කරමු! 👇
දිගටම මේ වගේ දේවල් ඉගෙනගන්න කැමතිනම් කියන්න,! 😉👋
Member since 2025-04-09 13:55:06
Comments
Please login to post a comment.
No comments yet. Be the first to comment!