උදව්: අඛණ්ඩ බෙදාහැරීම යනු කුමක්ද?

මීට පෙර අපි කිව්වා අඛණ්ඩ අනුකලනය (CI) ගැන. අඛණ්ඩ බෙදාහැරීම දිගටම කරගෙන යමු. මෙය මෘදුකාංග සංවර්ධන ක්‍රම මාලාවකි. එය ඔබගේ කේතය යෙදවීම සඳහා සූදානම් බව සහතික කිරීමට උපකාරී වේ.

උදව්: අඛණ්ඩ බෙදාහැරීම යනු කුමක්ද?
/Pixabay/ bluebudgie / PL

කතාව

අඛණ්ඩ බෙදාහැරීමේ වාක්‍ය ඛණ්ඩය නැවත දැකිය හැකිය කඩිසර ප්‍රකාශනය 2001 සිට මූලික මූලධර්ම ලැයිස්තුවේ ආරම්භයේ: "ප්‍රමුඛතාවය වන්නේ යාවත්කාලීන මෘදුකාංග අඛණ්ඩව බෙදා හැරීම හරහා පාරිභෝගික ගැටළු විසඳීමයි."

2010 දී, Jez Humble සහ David Farley නිකුත් කරන ලදී පොතක් අඛණ්ඩ බෙදාහැරීම මගින්. කතුවරුන්ට අනුව, සීඩී ප්රවේශය සම්පූර්ණ කරයි අඛණ්ඩ ඒකාබද්ධතාව සහ යෙදවීම සඳහා කේතය සකස් කිරීම සරල කිරීමට ඔබට ඉඩ සලසයි.

පොත ප්‍රකාශයට පත් කිරීමෙන් පසු, ප්‍රවේශය ජනප්‍රිය වීමට පටන් ගත් අතර වසර කිහිපයකින් එය විශ්වීය වශයෙන් පිළිගනු ලැබීය. අනුව මිනුම්, 600 දී සංවර්ධකයින් සහ තොරතුරු තාක්ෂණ කළමනාකරුවන් 2014 කට වැඩි පිරිසක් අතර පවත්වන ලදී, තාක්ෂණික කළමනාකරුවන්ගෙන් 97% ක් සහ ක්‍රමලේඛකයින්ගෙන් 84% ක් අඛණ්ඩ බෙදා හැරීම ගැන හුරුපුරුදු විය.

දැන් මෙම ප්රවේශය වඩාත් ජනප්රිය එකක් ලෙස පවතී. තොරතුරු තාක්ෂණ ප්‍රජාව DevOps සහ Jenkins Community සම්බන්ධ 2018 අධ්‍යයනයකට අනුව, එය භාවිතා කරයි සමීක්ෂණයට ලක් කළ ප්‍රතිචාර දැක්වූවන් දහසකට වඩා අඩක්.

අඛණ්ඩ බෙදා හැරීම ක්‍රියා කරන්නේ කෙසේද?

CD පදනම යනු යෙදවීම සඳහා කේතයේ සූදානමයි. මෙම කාර්යය ඉටු කිරීම සඳහා, නිදහස් කිරීම සඳහා මෘදුකාංග සකස් කිරීමේ ක්රියාවලියේ ස්වයංක්රීයකරණය භාවිතා කරනු ලැබේ. එය විවිධ සංවර්ධන පරිසරයන් හරහා සම්මත විය යුතු අතර, දුර්වල ස්ථාන ඉක්මනින් සොයා ගැනීමට සහ ඒවා ප්‍රශස්ත කිරීමට උපකාරී වේ. උදාහරණයක් ලෙස, පරීක්ෂණ වේගවත් කරන්න.

අඛණ්ඩ බෙදා හැරීමේ ක්‍රියාවලියක උදාහරණයක් මේ වගේ ය:

උදව්: අඛණ්ඩ බෙදාහැරීම යනු කුමක්ද?

පළමු අදියර දෙක ස්වයංක්‍රීය කිරීම සඳහා අඛණ්ඩ ඒකාබද්ධ කිරීමේ ප්‍රවේශය වගකිව යුතු නම්, ඊළඟ අදියර දෙක සඳහා අඛණ්ඩ බෙදා හැරීම වගකිව යුතුය. ක්‍රියාවලි ස්ථායිතාව වෙනත් දේ අතර පද්ධති මගින් සහතික කෙරේ වින්යාස කළමනාකරණය. ඔවුන් යටිතල පහසුකම්, දත්ත සමුදායන් සහ පරායත්තතා වල වෙනස්කම් නිරීක්ෂණය කරයි. යෙදවීම ස්වයංක්‍රීයව හෝ අතින් සිදු කළ හැක.

ක්රියාවලිය සඳහා පහත අවශ්යතා පනවනු ලැබේ:

  • නිෂ්පාදන පරිසරයට ඇතුළු වීමට ඇති සූදානම සහ ක්ෂණික නිකුත් කිරීම සඳහා ඇති සූදානම පිළිබඳ තොරතුරු ලබා ගැනීම (CD මෙවලම් කේතය පරීක්ෂා කර නිකුතුවේ වෙනස්කම් වල බලපෑම තක්සේරු කිරීමට හැකි වේ).
  • අවසාන නිෂ්පාදනය සඳහා සමස්ත වගකීම. නිෂ්පාදන කණ්ඩායම - කළමනාකරුවන්, සංවර්ධකයින්, පරීක්ෂකයින් - ප්‍රති result ලය ගැන සිතන්න, ඔවුන්ගේ වගකීම් ක්ෂේත්‍රය ගැන පමණක් නොව (ප්‍රතිඵලය නිෂ්පාදනයේ පරිශීලකයින්ට ලබා ගත හැකි ක්‍රියාකාරී නිකුතුවකි).

CD තැටි වල එය සාමාන්යයෙන් භාවිතා වේ කේත සමාලෝචනය, සහ පාරිභෝගික අදහස් එකතු කිරීම සඳහා - මූලධර්මය අඳුරු දියත් කිරීම. නව විශේෂාංගයක් මුලින්ම නිකුත් කරනු ලබන්නේ පරිශීලකයින්ගෙන් කුඩා කොටසකටයි - නිෂ්පාදනය සමඟ අන්තර්ක්‍රියා කිරීමේ ඔවුන්ගේ අත්දැකීම් අභ්‍යන්තර පරීක්ෂාවේදී අවධානයට ලක් නොවූ අඩුපාඩු සහ දෝෂ සොයා ගැනීමට උපකාරී වේ.

මොකක්ද ප්‍රයෝජනය

අඛණ්ඩ බෙදාහැරීම කේත යෙදවීම සරල කිරීමට උපකාරී වේ, එය ඵලදායිතාවයට ධනාත්මක බලපෑමක් ඇති කරන අතර සේවක දැවී යාමේ සම්භාවිතාව අඩු කරයි. අවසාන වශයෙන්, මෙය සමස්ත සංවර්ධන පිරිවැය අඩු කරයි. උදාහරණයක් ලෙස, CD HP කණ්ඩායමකට උදව් විය අඩු කිරීමට එවැනි පිරිවැය 40% කින්.

මීට අමතරව, 2016 අධ්‍යයනයකට අනුව (පිටුව 28 ලියවිල්ල) - CD ක්‍රියාත්මක කර ඇති සමාගම් ප්‍රවේශය භාවිතා නොකරන අයට වඩා 50% වේගයෙන් තොරතුරු ආරක්ෂණ ගැටළු විසඳයි. යම් දුරකට, ක්රියාවලි ස්වයංක්රීය මෙවලම්වල ක්රියාකාරිත්වය මගින් මෙම වෙනස පැහැදිලි කළ හැකිය.

තවත් ප්ලස් එකක් වන්නේ නිකුත් කිරීම් වේගවත් කිරීමයි. ෆින්ලන්ත සංවර්ධන චිත්‍රාගාරයේ අඛණ්ඩ බෙදා හැරීම උදව් කළා කේත එකලස් කිරීමේ වේගය 25% කින් වැඩි කරන්න.

විභව දුෂ්කරතා

පළමු හා ප්රධාන ගැටළුව වන්නේ හුරුපුරුදු ක්රියාවලීන් නැවත ගොඩ නැගීමේ අවශ්යතාවයයි. නව ප්‍රවේශයේ ප්‍රතිලාභ පෙන්වීමට, වඩාත්ම ශ්‍රම-දැඩි යෙදුම් වලින් නොව ක්‍රමයෙන් සීඩී වෙත මාරු වීම වටී.

දෙවන විභව ගැටළුව වන්නේ කේත ශාඛා විශාල සංඛ්යාවකි. "අතු බෙදීමේ" ප්රතිවිපාකය වන්නේ නිරන්තර ගැටුම් සහ තවත් විශාල කාලයක් අහිමි වීමයි. හැකි විසඳුම - ප්රවේශය ශාඛා නැත.

විශේෂයෙන්, සමහර සමාගම්වල පරීක්ෂණ සමඟ ප්රධාන දුෂ්කරතා පැන නගී - එය බොහෝ කාලයක් ගත වේ. පරීක්ෂණ ප්‍රතිඵල බොහෝ විට අතින් විශ්ලේෂණය කළ යුතු නමුත්, CD ක්‍රියාත්මක කිරීමේ මුල් අදියරේදී පරීක්ෂණ සමාන්තර කිරීම විය හැකි විසඳුමක් විය හැකිය.

නව මෙවලම් සමඟ වැඩ කිරීමට ඔබ සේවකයින් පුහුණු කළ යුතුය - මූලික අධ්‍යාපන වැඩසටහනක් මඟින් සංවර්ධකයින්ගේ උත්සාහය සහ කාලය ඉතිරි වේ.

උදව්: අඛණ්ඩ බෙදාහැරීම යනු කුමක්ද?
/flickr/ h.ger1969 / CC BY-SA

මෙවලම්

අඛණ්ඩ බෙදා හැරීම සඳහා විවෘත මෙවලම් කිහිපයක් මෙන්න:

  • GoCD — Java සහ JRuby on Rails හි අඛණ්ඩ බෙදා හැරීම සඳහා සේවාදායකය. සම්පූර්ණ යෙදුම් බෙදා හැරීමේ ක්‍රියාවලිය පාලනය කිරීමට ඔබට ඉඩ සලසයි: build-test-release. මෙවලම Apache 2.0 බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ. ඔබට එය නිල වෙබ් අඩවියෙන් සොයාගත හැකිය සැකසුම් මාර්ගෝපදේශය.
  • කැපිස්ට්‍රානෝ — Ruby, Java හෝ PHP හි යෙදුම් යෙදවීම ස්වයංක්‍රීය කරන ස්ක්‍රිප්ට් නිර්මාණය කිරීමේ රාමුවකි. Capistrano හට SSH හරහා සම්බන්ධ වීමෙන් දුරස්ථ යන්ත්‍රයක විධාන ක්‍රියාත්මක කිරීමට හැකි වේ. Integrity CI සේවාදායකය වැනි අනෙකුත් අඛණ්ඩ ඒකාබද්ධ කිරීම් සහ බෙදා හැරීමේ මෙවලම් සමඟ ක්‍රියා කරයි.
  • ශ්‍රේණිය සම්පූර්ණ යෙදුම් සංවර්ධන චක්‍රය ස්වයංක්‍රීය කරන බහු-වේදිකා මෙවලමකි. Gradle වැඩ කරන්නේ Java, Python, C/C++, Scala, ආදිය සමඟින්. Eclipse, IntelliJ සහ Jenkins සමඟ අනුකලනයක් ඇත.
  • ඩ්රෝන් - ගෝ භාෂාවෙන් CD වේදිකාව. ඩ්‍රෝනය පරිශ්‍රයේ හෝ වලාකුළෙහි යෙදවිය හැක. මෙවලම බහාලුම් මත ගොඩනගා ඇති අතර ඒවා කළමනාකරණය කිරීමට YAML ගොනු භාවිතා කරයි.
  • ස්පින්නකර් - බහු-වලාකුළු පද්ධතිවල අඛණ්ඩ කේත බෙදා හැරීම සඳහා වේදිකාවක්. Netflix විසින් වැඩි දියුණු කරන ලද Google ඉංජිනේරුවන් මෙවලම සංවර්ධනය කිරීමේදී විශාල කාර්යභාරයක් ඉටු කළේය. ස්ථාපන උපදෙස් එය නිල වෙබ් අඩවියෙන් සොයා ගන්න.

අපගේ ආයතනික බ්ලොගයේ කියවිය යුතු දේ:

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න