ආරම්භක සඳහා CICD: එහි ඇති මෙවලම් මොනවාද සහ විශාල සහ ප්‍රසිද්ධ සමාගම් පමණක් ඒවා භාවිතා නොකරන්නේ මන්ද?

CICD මෙවලම් සංවර්ධකයින් බොහෝ විට සේවාදායකයන් ලෙස විශාල සමාගම් ලැයිස්තුගත කරයි - Microsoft, Oculus, Red Hat, Ferrari සහ NASA පවා. එවැනි වෙළඳ නාම වැඩ කරන්නේ සංවර්ධකයින් කිහිප දෙනෙකුගෙන් සහ නිර්මාණකරුවෙකුගෙන් සමන්විත ආරම්භකයකට දැරිය නොහැකි මිල අධික පද්ධති සමඟ පමණක් බව පෙනේ. නමුත් මෙවලම්වල සැලකිය යුතු කොටසක් කුඩා කණ්ඩායම් සඳහා ලබා ගත හැකිය.

ඔබට අවධානය යොමු කළ හැකි දේ අපි ඔබට පහතින් කියන්නෙමු.

ආරම්භක සඳහා CICD: එහි ඇති මෙවලම් මොනවාද සහ විශාල සහ ප්‍රසිද්ධ සමාගම් පමණක් ඒවා භාවිතා නොකරන්නේ මන්ද?
ඡායාරූපය - Csaba Balazs - Unsplash

PHP වාරණය

PHP හි ව්‍යාපෘති තැනීම පහසු කරන විවෘත මූලාශ්‍ර CI සේවාදායකයක්. මෙය ව්යාපෘතියේ දෙබලකි PHPCI. PHPCI තවමත් සංවර්ධනය වෙමින් පවතී, නමුත් පෙර මෙන් ක්රියාකාරී නොවේ.

PHP Censor හට GitHub, GitLab, Mercurial සහ තවත් ගබඩා කිහිපයක් සමඟ වැඩ කළ හැක. කේතය පරීක්ෂා කිරීම සඳහා, මෙවලම Atoum, PHP Spec, Behat, Codeception පුස්තකාල භාවිතා කරයි. මෙතන උදාහරණ ගොනුව පළමු නඩුව සඳහා සැකසුම්:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

සලකනු ලැබේකුඩා ව්‍යාපෘති යෙදවීම සඳහා PHP සෙන්සර් ඉතා සුදුසු බව, නමුත් ඔබට එය ඔබම (ස්වයං-සත්කාරක) සත්කාරකත්වය සහ වින්‍යාසගත කිරීමට සිදුවේ. මෙම කාර්යය තරමක් සවිස්තරාත්මක ලියකියවිලි මගින් සරල කර ඇත - එය GitHub මත ඇත.

රෙක්ස්

Rex යනු Remote Execution යන්නෙහි කෙටි යෙදුමකි. දත්ත මධ්‍යස්ථානයේ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීම සඳහා ඉංජිනේරු ෆෙරන්ක් එර්කි විසින් පද්ධතිය සංවර්ධනය කරන ලදී. රෙක්ස් පර්ල් ස්ක්‍රිප්ට් මත පදනම් වේ, නමුත් මෙවලම සමඟ අන්තර් ක්‍රියා කිරීමට මෙම භාෂාව දැන ගැනීම අවශ්‍ය නොවේ - බොහෝ මෙහෙයුම් (උදාහරණයක් ලෙස, ලිපිගොනු පිටපත් කිරීම) ශ්‍රිත පුස්තකාලයේ විස්තර කර ඇති අතර ස්ක්‍රිප්ට් බොහෝ විට පේළි දහයකට ගැලපේ. බහු සේවාදායක වෙත ලොග් වීම සහ ක්‍රියාත්මක වන කාලය සඳහා උදාහරණයක් මෙන්න:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

මෙවලම සමඟ ඔබේ දැන හඳුනා ගැනීම ආරම්භ කිරීමට අපි නිර්දේශ කරමු නිල මාර්ගෝපදේශය и ඊ-පොත, දැනට නිම වෙමින් පවතී.

විවෘත ගොඩනැගීමේ සේවාව (OBS)

මෙය බෙදාහැරීම් සංවර්ධනය ප්‍රශස්ත කිරීම සඳහා වේදිකාවකි. එහි කේතය විවෘතව ඇති අතර එය ගබඩාවේ ඇත GitHub. මෙවලමෙහි කතුවරයා සමාගමයි නොවෙල්. ඇය SuSE බෙදාහැරීමේ සංවර්ධනයට සහභාගී වූ අතර මෙම ව්‍යාපෘතිය මුලින් හැඳින්වූයේ openSUSE Build Service ලෙසිනි. එය විවෘත ගොඩනැගීමේ සේවාව පුදුමයක් නොවේ භාවිතා කරන්න openSUSE, Tizen සහ VideoLAN හි ව්‍යාපෘති ගොඩනැගීම සඳහා. Dell, SGI සහ Intel ද මෙවලම සමඟ වැඩ කරයි. නමුත් නිතිපතා භාවිතා කරන්නන් අතර කුඩා ආරම්භකයින් ද ඇත. විශේෂයෙන් ඔවුන් සඳහා, කතුවරුන් එකතු කරන ලදී (පිටුව 10) පෙර සැකසූ මෘදුකාංග පැකේජය. පද්ධතියම සම්පූර්ණයෙන්ම නොමිලේ - ඔබට එය යෙදවීම සඳහා සත්කාරක හෝ දෘඪාංග සේවාදායකයක් සඳහා මුදල් වියදම් කළ යුතුය.

නමුත් එහි පැවැත්ම පුරාවටම, මෙවලම කිසි විටෙකත් පුළුල් ප්රජාවක් අත්පත් කර ගෙන නැත. වුවද ඔහු විය ලිනක්ස් සංවර්ධක ජාලයේ කොටසක්, විවෘත මෙහෙයුම් පද්ධතිය ප්‍රමිතිකරණය සඳහා වගකිව යුතුය. එය දුෂ්කර විය හැකිය තේමාත්මක සංසදවල ඔබේ ප්‍රශ්නයට පිළිතුර සොයන්න. නමුත් Quora වැසියන්ගෙන් එක් අයෙක් ඒ බව සඳහන් කළේය IRC කතාබස් Freenode හි, ප්‍රජා සාමාජිකයින් ඉතා පහසුවෙන් ප්‍රතිචාර දක්වයි. බොහෝ ගැටලුවලට විසඳුම විස්තර කර ඇති බැවින් කුඩා ප්රජාවක ගැටලුව ගෝලීය නොවේ නිල ලේඛනවල (PDF සහ EPUB). Ibid. සොයාගත හැකිය OBS සමඟ වැඩ කිරීම සඳහා හොඳම භාවිතයන් (උදාහරණ සහ අවස්ථා තිබේ).

රන්ඩෙක්

විවෘත මෙවලම (GitHub), එය ස්ක්‍රිප්ට් භාවිතයෙන් දත්ත මධ්‍යස්ථානයේ සහ වලාකුළෙහි කාර්යයන් ස්වයංක්‍රීය කරයි. ඒවා ක්‍රියාත්මක කිරීම සඳහා විශේෂ ස්ක්‍රිප්ට් සේවාදායකයක් වගකිව යුතුය. Rundeck ControlTier යෙදුම් කළමනාකරණ වේදිකාවේ "දියණියක්" බව අපට පැවසිය හැකිය. Rundeck 2010 දී එයින් වෙන් වී නව ක්‍රියාකාරිත්වයක් ලබා ගත්තේය - උදාහරණයක් ලෙස, Puppet, Chef, Git සහ Jenkins සමඟ ඒකාබද්ධ වීම.

පද්ධතිය භාවිතා වේ වෝල්ට් ඩිස්නි සමාගම, Salesforce и ටිකට් මාස්ටර්. නමුත් මෙම ව්යාපෘතිය ආරම්භකයින් සඳහා ද සුදුසු ය. මෙයට හේතුව Rundeck Apache v2.0 බලපත්‍රය යටතේ බලපත්‍ර ලබා ඇති බැවිනි. ඊට අමතරව, මෙවලම භාවිතා කිරීම තරමක් පහසුය.

Rundeck සමඟ වැඩ කළ Reddit පදිංචිකරුවෙක්, පවසයි, බොහෝ දුෂ්කරතා තනිවම විසඳා ගත්. ඔවුන් මේ සඳහා ඔහුට උදව් කළා ලේඛන සහ විද්‍යුත් පොත්, සංවර්ධකයින් විසින් ප්‍රකාශයට පත් කරන ලදී.

ඔබට අන්තර්ජාලය හරහා මෙවලම සැකසීම සඳහා කෙටි මාර්ගෝපදේශ ද සොයාගත හැකිය:

GoCD

විවෘත මෙවලම (GitHub) කේත අනුවාද පාලනය ස්වයංක්‍රීය කිරීම. එය සමාගම විසින් 2007 දී හඳුන්වා දෙන ලදී සිතුවිලි වැඩ - එවිට ව්යාපෘතිය Cruise ලෙස නම් කරන ලදී.

GoCD භාවිතා කරනු ලබන්නේ ඔන්ලයින් මෝටර් රථ අලෙවි අඩවිය වන AutoTrader, පෙළපත් සේවා සම්භවය සහ ක්‍රෙඩිට් කාඩ් සපයන්නා වන Barclaycard වෙතින් ඉංජිනේරුවන් විසිනි. කෙසේ වෙතත්, මෙවලම් භාවිතා කරන්නන්ගෙන් හතරෙන් එකක් කුඩා ව්‍යාපාරයක් පිහිටුවයි.

ආරම්භකයින් අතර සේවාවේ ජනප්‍රියතාවය එහි විවෘතභාවයෙන් පැහැදිලි කළ හැකිය - එය Apache v2.0 බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ. ඒ අතරම, GoCD සතුව ඇත තෙවන පාර්ශවීය මෘදුකාංග සමඟ ඒකාබද්ධ කිරීම සඳහා ප්ලගීන - අවසර පද්ධති සහ වලාකුළු විසඳුම්. සැබෑ පද්ධතිය තරමක් සංකීර්ණ ප්‍රගුණ කිරීමේදී - එයට ක්‍රියාකරුවන් සහ කණ්ඩායම් විශාල සංඛ්‍යාවක් ඇත. එසේම, සමහර පරිශීලකයින් දුර්වල අතුරු මුහුණත ගැන පැමිණිලි කරයි අවශ්යතාව පරිමාණය සඳහා නියෝජිතයන් වින්‍යාස කරන්න.

ආරම්භක සඳහා CICD: එහි ඇති මෙවලම් මොනවාද සහ විශාල සහ ප්‍රසිද්ධ සමාගම් පමණක් ඒවා භාවිතා නොකරන්නේ මන්ද?
ඡායාරූපය - මැට් වයිල්ඩ්බෝර් - Unsplash

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

ජෙන්කින්ස්

ජෙන්කින්ස් පුළුල් ලෙස දන්නා සහ සලකනු ලැබේ CICD ක්ෂේත්රයේ යම් ආකාරයක සම්මතයක් - ඇත්ත වශයෙන්ම, එය නොමැතිව මෙම තේරීම සම්පූර්ණයෙන්ම සම්පූර්ණ නොවේ. මෙවලම 2011 දී දර්ශනය විය. බවට පත්වීම Oracle වෙතින් හඩ්සන් ව්‍යාපෘතියේ දෙබලක.

අද ජෙන්කින්ස් සමඟ වැඩ කරනවා නාසා, නින්ටෙන්ඩෝ සහ අනෙකුත් විශාල සංවිධානවල. කෙසේ වුවද 8% ට වඩා පරිශීලකයන් දස දෙනෙකු දක්වා කුඩා කණ්ඩායම් සඳහා ගිණුම්. නිෂ්පාදිතය සම්පූර්ණයෙන්ම නොමිලේ සහ බෙදා හරිනු ලැබේ MIT බලපත්‍රය යටතේ. කෙසේ වෙතත්, ඔබට Jenkins ඔබ විසින්ම සත්කාරකත්වය සහ වින්‍යාස කිරීමට සිදුවනු ඇත - එයට කැපවූ සේවාදායකයක් අවශ්‍ය වේ.

උපකරණයේ සමස්ත පැවැත්ම පුරාවටම, එය වටා විශාල ප්රජාවක් පිහිටුවා ඇත. පරිශීලකයන් නූල් වල සක්‍රියව සන්නිවේදනය කරයි Reddit и ගූගල් කණ්ඩායම්. Jenkins මත ඇති ද්‍රව්‍ය Habré හි ද නිතිපතා දිස්වේ. ඔබ ප්‍රජාවේ කොටසක් වී ජෙන්කින්ස් සමඟ වැඩ කිරීමට කැමති නම්, තිබේ නිල ලියකියවිලි и සංවර්ධක මාර්ගෝපදේශය. අපි පහත මාර්ගෝපදේශ සහ පොත් ද නිර්දේශ කරමු:

ජෙන්කින්ස් සතුව ප්‍රයෝජනවත් පැති ව්‍යාපෘති කිහිපයක් තිබේ. පළමු එක ප්ලගිනයකි කේතය ලෙස වින්‍යාස කිරීම. එය පහසුවෙන් කියවිය හැකි API සමඟින් Jenkins පිහිටුවීම පහසු කරයි, එය මෙවලම පිළිබඳ ගැඹුරු දැනුමක් නොමැති පරිපාලකයින්ට පවා තේරුම් ගත හැකිය. දෙවැන්න පද්ධතියයි ජෙන්කින්ස් X වලාකුළ සඳහා. එය සමහර සාමාන්‍ය කාර්යයන් ස්වයංක්‍රීය කිරීම මගින් මහා පරිමාණ තොරතුරු තාක්ෂණ යටිතල පහසුකම් මත යොදවා ඇති යෙදුම් බෙදා හැරීම වේගවත් කරයි.

Buildbot

මෙය යෙදුම් ගොඩනැගීම සහ පරීක්ෂා කිරීමේ චක්‍රය ස්වයංක්‍රීය කිරීම සඳහා අඛණ්ඩ ඒකාබද්ධ පද්ධතියකි. එය කේතයේ කිසියම් වෙනසක් සිදු කරන සෑම අවස්ථාවකම එහි ක්‍රියාකාරිත්වය ස්වයංක්‍රීයව පරීක්ෂා කරයි.

මෙවලමෙහි කතුවරයා වූයේ ඉංජිනේරු බ්රයන් වෝනර් ය. අද එයා රාජකාරි කරනවා වෙනස් කළා සංවර්ධකයින් හය දෙනෙකු ඇතුළත් වන Buildbot අධීක්ෂණ කමිටු ආරම්භක කණ්ඩායම.

Buildbot භාවිතා වේ LLVM, MariaDB, Blender සහ Dr.Web වැනි ව්‍යාපෘති. නමුත් එය wxWidgets සහ Flathub වැනි කුඩා ව්‍යාපෘති වලද භාවිතා වේ. පද්ධතිය සියලුම නවීන VCS සඳහා සහය දක්වන අතර ඒවා විස්තර කිරීමට Python භාවිතා කිරීමෙන් නම්‍යශීලී ගොඩනැගීමේ සැකසුම් ඇත. ඔවුන් සියල්ලන් සමඟ කටයුතු කිරීමට ඔබට උපකාර වනු ඇත. නිල ලියකියවිලි සහ තෙවන පාර්ශවීය නිබන්ධන, උදාහරණයක් ලෙස, මෙන්න කෙටි එකක් IBM අත්පොත.

ඇත්ත වශයෙන්ම, එය පමණක් නොවේ කුඩා සංවිධාන සහ ආරම්භක අවධානය යොමු කළ යුතු DevOps මෙවලම්. අදහස් දැක්වීමේදී ඔබේ ප්රියතම මෙවලම් ලබා දෙන්න, අපි පහත සඳහන් ද්රව්යවලින් එකක් ගැන කතා කිරීමට උත්සාහ කරමු.

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

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

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