අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමට අවමයෙන් කලයුතු සහ කලහැකිදේ
“අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ ක්රියාවලිය මගින් මෘදුකාංග බෙදාහැරීමේ කාර්ය සාධනය සහ ගුණාත්මකභාවය යන දෙකම වැඩිදියුණු කරන අතර, එම නිපදවන පරිසරයේ අභිවර්ධනයක්ද ඇතිකරයි. තවද මේ බෙදාහැරීමේ කටයුතු සීග්ර වීමත් සමග එම කාර්ය කරන්නන් ධනාත්මක මානසිකත්වයෙන් පසුවේ.”
– Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (නිල නොවන පරිවර්තනය)
අපි, පහළින් අත්සන් කර ඇත්තන්, අඛණ්ඩව බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ ප්රවාහය (CD) වැඩිදියුණු කිරීමට සහ ඉහත ප්රතිඵල සාක්ෂාත් කර ගැනීමට අවම අර්ථ දැක්වීමක් අවශ්ය බව අපි විශ්වාස කරමු.
- නව නියුක්තිකයින් මේ ක්රියාවලිය පැහැදිලිලෙස හඳුන්වා දීම
- අඛණ්ඩව බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ (CD) ඉංජිනේරු ක්රියාමාර්ගවල සංයුතිය සාකච්ඡාවට බාජනය කිරීම
- එය කිරීමට එකිනෙකාට උදව් කිරීම
මේ අඛණ්ඩව බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ ක්රියාවලියේ ප්රතිලාභ අපට දැකීමට පුළුවන්වන්නේ මෙය ක්රියාත්මක කිරීමෙන් පමණි.
පහත සඳහන් උපදෙස් අවමයෙන් කලයුතුදේ වේ. මෘදුකාංග නිපදවීමේ ක්රියාවලිය නොකඩවා සිදුවෙන්නක් වෙන අතර; එහි කාර්යක්ෂමතාවය, ගුණාත්මකභාවය සහ ආරක්ෂාව සහතික කලහැකි මාධ්යයක් (delivery pipeline) සාදාගැනීම මෙහි අපේක්ෂිත ප්රතිඵලය වේ.
අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීම
CD යනු මෘදුකාංග වලට කෙරෙන සියලු වෙනස්කම් එකම සම්මත ආකාරයෙන් ආරක්ෂිතව ලබා දීමේ ඉංජිනේරු විනයයි. ඔබ එය කරන්නේ කෙසේද යන්න රඳා පවතින්නේ ඔබ කරන වැඩේ මතය. කෙසේ වෙතත්, “අඛණ්ඩ බෙදාහැරීම” ලෙස යෝග්යතාව ලබන්න කළ යුතු දේවල් තිබේ
CD සඳහා අවශ්ය අවම ක්රියාකාරකම් වන්නේ:
-
Continuous Integrationභාවිතා කලයුතුවේ
-
එම මෘදුකාංග යෙදුම් මාර්ගය pipeline මෘදුකාංග බෙදාහැරීමේ එකම මාර්ගය වේ
-
එම යෙදුම් මාර්ගය (pipeline) වෙනස්කම්වල මුදා හැරීම තීරණය කරයි, එහි තීන්දුව නිශ්චිත තීන්දුවවේ
-
එම මාර්ගයෙන් නිර්මාණය කරන ලද වස්තුන් සෑම විටම ආයතනයේ බෙදාහැරිය හැකි අර්ථ දැක්වීම සපුරාලයි
-
විචල්ය නොවන වස්තුන් (සැකසීමෙන් පසු කිසි පුද්ගලයෙකුට මේ වස්තුන් වෙනස් කල නොහැක)
-
මෘදුකාංග යෙදුම් මාර්ගය (pipeline) රතු වූ විට සියලුම සියලු වැඩ නතර වේ
-
Production-වලට සමාන පරීක්ෂණ පරිසර
-
සැණකින් ප්රකූර්ති තත්වයට පත්කල හැකි පරීක්ෂණ පරිසර
-
යෙදුම් වින්යාසයවස්තුන් සමඟ එකට බෙදාහැරේ
Continuous Integration
CI යනු කරපු වැඩ නිතර නිතර Trunk Branch එකට ඒකාබද්ධ කිරීමේ ක්රියාකාරකම වන අතර, එය අපගේ උපරිම දැනුමට අනුව අවශ්ය ඕනෑම විටකදී Production එකට බෙදාහැරිය හැකි බව තහවුරු කරයි.
CI සඳහා අවශ්ය අවම ක්රියාකාරකම් වන්නේ:
- Trunk-based development
- කරන වැඩ අවම වශයෙන් දිනපතා Trunk එකට ඒකාබද්ධ වියයුතුවේ
- වැඩ ඒකාබද්ධ කිරීමට පෙර ස්වයංක්රීය පරීක්ෂාවට බාවිතාකල යුතුවේ
- ඒකාබද්ධ වීමේදී ස්වයංක්රීයව අනිත් කරපු වැඩ සමඟ පරීක්ෂා කළයුතු වේ
- build එක රතු වූ විට සියලුම සියලු වැඩ නතර වේ
- අලුතින් කරපු වැඩ නිසා නිමාකල වැඩ අඩපණවීම් කඩාවැටීම් විය නොහැක
Trunk Based Development
Trunk-based සංවර්ධනය යනු නිර්වචනය වන්නේ මූලාශ්ර පාලනයට අවශ්ය එක අත්තක් විතරක් බාවිතාකරන රටාවයි, වෙනත් විදියකට CI ක්රියාවලිය කල නොහැක. මෙම විදිය code ඒකාබද්ධ වීමේදී සිදුවෙන දුෂිතවීම් වලක්වයි
TBD සඳහා අවශ්ය අවම ක්රියාකාරකම් වන්නේ:
- සියලුම වෙනස්කම් කඳට අනුකලනය වේ
- කඳෙන් අතු භාවිතා කරන්නේ නම්:
- ඔවුන් කඳෙන් ආරම්භ වේ
- ඔවුන් කඳට නැවත ඒකාබද්ධ වේ
- ඒවා කෙටිකාලීන වන අතර ඒකාබද්ධ වීමෙන් පසුව ඉවත් කරනු ලැබේ
ඇයි අපි මේක හැදුවේ?
අවම CD පසුබිම සහ අනෙකුත් පොදු ප්රශ්නවලට පිළිතුරු සඳහා, කරුණාකර නිති අසන ප්රශ්න කියවන්න.
ගමන ආරම්භ කිරීම
ආරම්භ කළ යුත්තේ කොතැනින්ද යන්න පිළිබඳ ප්රශ්න? සමහර නිර්දේශ. බලන්න.
දායක වීම
ඔබට පරිවර්තනයක්, හොඳ භාවිතයන්, යෝජනා, හෝ අත්දැකීම් වාර්තාවක් ඉදිරිපත් කිරීමට අවශ්යද?
අපගේ දායකත්ව මාර්ගෝපදේශ කියවන්න.