අද අපි පදයේ ඉතිහාසය දෙස බලනු ඇත, CI ක්රියාත්මක කිරීමේ දුෂ්කරතා සාකච්ඡා කරන්න, සහ එය සමඟ වැඩ කිරීමට ඔබට උපකාර වන ජනප්රිය මෙවලම් කිහිපයක් ලබා දෙන්නෙමු.
/flickr/ / / ඡායාරූපය වෙනස් කරන ලදී
වාරය
අඛණ්ඩ අනුකලනය යනු යෙදුම් සංවර්ධනය සඳහා වන ප්රවේශයක් වන අතර එයට නිතර ව්යාපෘති ගොඩනැගීම් සහ කේත පරීක්ෂණ ඇතුළත් වේ.
ඉලක්කය වන්නේ ඒකාබද්ධ කිරීමේ ක්රියාවලිය පුරෝකථනය කළ හැකි කිරීම සහ විභව දෝෂ සහ දෝෂ මුල් අවධියේදී හඳුනා ගැනීමයි, එවිට ඒවා නිවැරදි කිරීමට වැඩි කාලයක් තිබේ.
අඛණ්ඩ ඒකාබද්ධතාවය යන යෙදුම මුලින්ම දර්ශනය වූයේ 1991 දී ය. එය UML භාෂාවේ නිර්මාතෘ විසින් හඳුන්වා දෙන ලදී (Grady Booch). ඉංජිනේරුවරයා ඔහුගේම සංවර්ධන භාවිතයේ කොටසක් ලෙස CI සංකල්පය හඳුන්වා දුන්නේය - . වස්තු-නැඹුරු පද්ධති සැලසුම් කිරීමේදී ගෘහ නිර්මාණ ශිල්පයේ වර්ධක පිරිපහදු කිරීමක් එය ඇඟවුම් කළේය. Gradi අඛණ්ඩ ඒකාබද්ධ කිරීම සඳහා කිසිදු අවශ්යතාවක් විස්තර කර නැත. නමුත් පසුව ඔහුගේ පොතේ ""ක්රමවේදයේ අරමුණ "අභ්යන්තර නිකුතු" නිකුත් කිරීම වේගවත් කිරීම බව ඔහු පැවසීය.
කතාව
1996 දී, ක්රමවේදයේ නිර්මාතෘවරුන් විසින් CI භාවිතා කරන ලදී (XP) - (කෙන්ට් බෙක්) සහ (රොන් ජෙෆ්රීස්). අඛණ්ඩ ඒකාබද්ධතාවය ඔවුන්ගේ ප්රවේශයේ ප්රධාන මූලධර්ම දොළහෙන් එකක් බවට පත් විය. XP හි නිර්මාතෘවරු CI ක්රමවේදය සඳහා අවශ්යතා පැහැදිලි කර ඇති අතර දිනකට කිහිප වතාවක් ව්යාපෘතිය ගොඩනැගීමේ අවශ්යතාවය සටහන් කළහ.
2000 ගණන්වල මුල් භාගයේදී, Agile Alliance හි ආරම්භකයකු අඛණ්ඩ ඒකාබද්ධතා ක්රමවේදය ප්රවර්ධනය කිරීමට පටන් ගත්තේය. (මාටින් ෆෝලර්). CI සමඟ ඔහුගේ අත්හදා බැලීම් මෙම ප්රදේශයේ පළමු මෘදුකාංග මෙවලම වෙත යොමු විය - CruiseControl. උපයෝගිතා නිර්මාණය කරන ලද්දේ මාටින්ගේ සගයා වන මැතිව් ෆොමෙල් විසිනි.
මෙවලම තුළ ගොඩනැගීමේ චක්රය ක්රියාත්මක වන්නේ කේත පදනමේ වෙනස්කම් සඳහා අනුවාද පාලන පද්ධතිය වරින් වර පරීක්ෂා කරන ඩීමන් ලෙසය. විසඳුම අද බාගත කළ හැකිය - එය BSD වැනි බලපත්රයක් යටතේ.
CI සඳහා මෘදුකාංග පැමිණීමත් සමඟ, වැඩි වැඩියෙන් සමාගම් මෙම භාවිතය අනුගමනය කිරීමට පටන් ගත්හ. ෆොරෙස්ටර් පර්යේෂණයට අනුව [පිටුව 5 ], 2009 දී, සමීක්ෂණය කරන ලද තාක්ෂණ සමාගම් පනහෙන් 86% ක් CI ක්රම භාවිතා කර හෝ ක්රියාත්මක කරන ලදී.
අද වන විට, අඛණ්ඩ ඒකාබද්ධතා භාවිතය විවිධ කර්මාන්තවල සංවිධාන විසින් භාවිතා කරනු ලැබේ. 2018 දී, විශාල වලාකුළු සපයන්නා සේවා, අධ්යාපන සහ මූල්ය අංශවල සමාගම්වල තොරතුරු තාක්ෂණ විශේෂඥයින් අතර සමීක්ෂණයක් පවත්වන ලදී. ප්රතිචාර දැක්වූ හයදහස් දෙනාගෙන් 58% ක් කියා සිටියේ ඔවුන් තම කාර්යයේදී CI මෙවලම් සහ මූලධර්ම භාවිතා කරන බවයි.
කොහොමද මේ වැඩ කරන්නේ
අඛණ්ඩ ඒකාබද්ධ කිරීම මෙවලම් දෙකක් මත පදනම් වේ: අනුවාද පාලන පද්ධතියක් සහ CI සේවාදායකයක්. දෙවැන්න වලාකුළු පරිසරයක භෞතික උපාංගයක් හෝ අතථ්ය යන්ත්රයක් විය හැකිය. සංවර්ධකයින් දිනකට එක් වරක් හෝ කිහිප වතාවක් නව කේතය උඩුගත කරයි. CI සේවාදායකයා එය සියලු පරායත්තතා සමඟ ස්වයංක්රීයව පිටපත් කර එය ගොඩනඟයි. පසුව, එය ඒකාබද්ධ කිරීම සහ ඒකක පරීක්ෂණ ක්රියාත්මක කරයි. පරීක්ෂණ සාර්ථකව සමත් වුවහොත්, CI පද්ධතිය කේතය යොදවයි.
සාමාන්ය ක්රියාවලි රූප සටහන පහත පරිදි නිරූපණය කළ හැක.

CI ක්රමවේදය සංවර්ධකයින් සඳහා අවශ්යතා ගණනාවක් ඉදිරිපත් කරයි:
- ගැටළු වහාම නිවැරදි කරන්න. මෙම මූලධර්මය ආන්තික වැඩසටහන්කරණයෙන් CI වෙත පැමිණියේය. දෝෂ නිවැරදි කිරීම සංවර්ධකයින්ගේ ඉහළම ප්රමුඛතාවයයි.
- ස්වයංක්රීය ක්රියාවලි. සංවර්ධකයින් සහ කළමනාකරුවන් ඒකාබද්ධ කිරීමේ ක්රියාවලියේ බාධක සොයා බලා ඒවා ඉවත් කළ යුතුය. නිදසුනක් වශයෙන්, ඒකාබද්ධ කිරීමේදී බොහෝ විට බාධාවක් ඇත පරීක්ෂා කිරීම.
- හැකි සෑම විටම රැස්වීම් පවත්වන්න. කණ්ඩායමේ වැඩ සමමුහුර්ත කිරීමට දිනකට වරක්.
ක්රියාත්මක කිරීමේ දුෂ්කරතා
පළමු ගැටළුව වන්නේ අධික මෙහෙයුම් පිරිවැයයි. සමාගමක් විවෘත CI මෙවලම් භාවිතා කළත් (අපි පසුව කතා කරමු), එය යටිතල පහසුකම් සඳහා මුදල් වියදම් කිරීමට සිදු වනු ඇත. කෙසේ වෙතත්, වලාකුළු තාක්ෂණය විසඳුම විය හැකිය.
ඔවුන් විවිධ පරිමාණ පරිගණක වින්යාසයන් එකලස් කිරීම සරල කරයි. සමාගමේ ප්ලස් භාවිතා කරන සම්පත් සඳහා පමණි, එය යටිතල පහසුකම් මත ඉතිරි කිරීමට උපකාරී වේ.
සමීක්ෂණ වලට අනුව [පිටුව 14 ], අඛණ්ඩ ඒකාබද්ධතාවය සමාගම් සේවකයින් මත බර වැඩි කරයි (අවම වශයෙන් පළමුව). ඔවුන් නව මෙවලම් ඉගෙන ගත යුතු අතර, සගයන් සෑම විටම පුහුණුව සඳහා උදව් නොකරයි. එමනිසා, ඔබට ගමනේ දී නව රාමු සහ සේවාවන් සමඟ කටයුතු කිරීමට සිදු වේ.
තෙවන දුෂ්කරතාවය වන්නේ ස්වයංක්රීයකරණයේ ගැටළු ය. ස්වයංක්රීය පරීක්ෂණ මගින් ආවරණය නොවන ලෙගසි කේත විශාල ප්රමාණයක් ඇති සංවිධාන මෙම ගැටලුවට මුහුණ දෙයි. CI සම්පූර්ණයෙන් ක්රියාත්මක වීමට පෙර කේතය සරලව නැවත ලියා ඇති බවට මෙය හේතු වේ.

/flickr/ /
කවුද පාවිච්චි කරන්නේ
ක්රමවේදයේ ප්රතිලාභ අගය කළ පළමු අය අතර තොරතුරු තාක්ෂණ දැවැන්තයන් විය. ගූගල් 2000 දශකයේ මැද භාගයේ සිට අඛණ්ඩ ඒකාබද්ධතාවය. සෙවුම් යන්ත්රයේ ප්රමාදයන් පිළිබඳ ගැටළුව විසඳීම සඳහා CI ක්රියාත්මක කරන ලදී. අඛණ්ඩ ඒකාබද්ධතාවය ගැටළු ඉක්මනින් හඳුනා ගැනීමට සහ විසඳීමට උපකාරී විය. දැන් CI IT යෝධයාගේ සියලුම දෙපාර්තමේන්තු විසින් භාවිතා කරනු ලැබේ.
අඛණ්ඩ ඒකාබද්ධතාවය කුඩා සමාගම්වලට ද උපකාර වන අතර, මූල්ය සහ සෞඛ්ය සේවා සංවිධාන විසින් CI මෙවලම් ද භාවිතා කරයි. උදාහරණයක් ලෙස, මෝනිංස්ටාර් හි, අඛණ්ඩ ඒකාබද්ධතා සේවාවන් 70% වේගයෙන් අවදානම් ඉවත් කිරීමට උපකාරී විය. තවද Philips Healthcare වෛද්ය වේදිකාවට යාවත්කාලීන පරීක්ෂා කිරීමේ වේගය දෙගුණ කිරීමට හැකි විය.
මෙවලම්
CI සඳහා ජනප්රිය මෙවලම් කිහිපයක් මෙන්න:
- වඩාත් ජනප්රිය CI පද්ධති වලින් එකකි. එය විවිධ VCS, වලාකුළු වේදිකා සහ වෙනත් සේවාවන් සමඟ ඒකාබද්ධ කිරීම සඳහා ප්ලගීන දහසකට වඩා සහය දක්වයි. අපි Jenkins at 1Cloud: tool එකත් පාවිච්චි කරනවා . ඔහු නිතරම පරීක්ෂා කිරීමට අදහස් කරන Git ශාඛාව පරීක්ෂා කරයි.
- — ඔබේම අඛණ්ඩ ඒකාබද්ධතා ක්රියාවලීන් ලිවීම සඳහා පයිතන් රාමුවක්. මෙවලමෙහි ආරම්භක සැකසුම තරමක් සංකීර්ණ වේ, නමුත් මෙය පුළුල් අභිරුචිකරණ විකල්පයන් මගින් වන්දි ලබා දේ. රාමුවේ ඇති වාසි අතර, පරිශීලකයන් එහි අඩු සම්පත් තීව්රතාවය ඉස්මතු කරයි.
- ඩොකර් බහාලුම් භාවිතා කරන Pivotal හි සේවාදායකයකි. Concourse CI ඕනෑම මෙවලම් සහ අනුවාද පාලන පද්ධති සමඟ ඒකාබද්ධ වේ. සංවර්ධකයින් සටහන් කරන්නේ පද්ධතිය ඕනෑම ප්රමාණයක සමාගම්වල වැඩ සඳහා සුදුසු බවයි.
- GitLab අනුවාද පාලන පද්ධතියට ගොඩනගා ඇති මෙවලමකි. සේවාව ක්ලවුඩ් තුළ ක්රියාත්මක වන අතර වින්යාස කිරීම සඳහා YAML ගොනු භාවිතා කරයි. Concourse, Gitlab CI වගේ එකිනෙකට වෙනස් ක්රියාවලි හුදකලා කිරීමට උපකාර වන ඩොකර් බහාලුම්.
- GitHub, GitLab සහ BitBucket සමඟ ක්රියා කරන cloud CI සේවාදායකයකි. වේදිකාවට දිගු ආරම්භක සැකසුම අවශ්ය නොවේ - සම්මත පෙර ස්ථාපිත CI ක්රියාවලි Codeship හි ඇත. කුඩා (මසකට ඉදිකිරීම් 100ක් දක්වා) සහ විවෘත මූලාශ්ර ව්යාපෘති සඳහා, Codeship නොමිලේ ලබා ගත හැක.
අපගේ ආයතනික බ්ලොග් අඩවියෙන් ද්රව්ය:
මූලාශ්රය: www.habr.com
