د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول
د پیل کونکو لپاره په پنځو مرحلو کې ستاسو د لومړي DevOps سلسله رامینځته کول.

DevOps د خورا ورو ، منحل شوي او بل ډول ستونزې لرونکي پرمختیایي پروسو لپاره درملنه شوې. مګر تاسو په DevOps کې لږترلږه پوهې ته اړتیا لرئ. دا به مفکورې پوښي لکه د DevOps زنځیر او څنګه په پنځو مرحلو کې یو رامینځته کړي. دا یو بشپړ لارښود ندی، مګر یوازې یو "ماهی" چې پراخ کیدی شي. راځئ چې د تاریخ سره پیل وکړو.

DevOps ته زما پیژندنه

ما په Citi ګروپ کې د بادلونو سره کار کاوه او د Citi کلاوډ زیربنا اداره کولو لپاره د IaaS ویب غوښتنلیک رامینځته کول ، مګر زه تل په دې کې علاقه لرم چې څنګه د پراختیا سلسله اصلاح کړم او د پراختیا کونکو ترمینځ کلتور ته وده ورکړم. ګریګ لیوینډر ، زموږ د کلاوډ معمارۍ او زیربنا لپاره CTO ، ما ته دا کتاب وړاندیز وکړ. پروژه "فینکس". دا د DevOps اصول په ښکلي ډول تشریح کوي او د ناول په څیر لوستل کیږي.

په شا کې جدول ښیې چې شرکتونه څو ځله نوې نسخې وړاندې کوي:

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

ایمیزون، ګوګل او نیټ فلکس څنګه اداره کوي چې دومره ډیر رول ولوبوي؟ او دا ساده دی: دوی وموندل چې څنګه د نږدې بشپړ DevOps سلسله رامینځته کړي.

شیان زموږ لپاره په Citi کې خورا توپیر درلود تر هغه چې موږ DevOps ته لاړ شو. بیا زما ټیم مختلف چاپیریال درلود، مګر موږ په لاسي ډول پراختیایي سرور ته سپارل. ټولو پرمخ وړونکو د IBM WebSphere Application Server Community Edition پر بنسټ یوازې یو پرمختیایي سرور ته لاسرسی درلود. د وړاندې کولو په ورته وخت کې ، سرور "راوتلی" او هرځل چې موږ باید په خپل منځ کې "دردناک" خبرې اترې وکړو. موږ د ازموینو سره د کوډ کافي پوښښ هم درلود ، د وخت مصرف کونکي لارښود تحویلي پروسه ، او د ځینې دندې یا پیرودونکي اړتیا په مرسته د کوډ تحویلي تعقیب کولو لپاره هیڅ لاره شتون نلري.

دا څرګنده وه چې یو څه سمدستي باید ترسره شي، او ما یو ورته فکري همکار وموند. موږ پریکړه وکړه چې لومړی د DevOps سلسله په ګډه جوړه کړو - هغه یو مجازی ماشین او د ټامکاټ غوښتنلیک سرور رامینځته کړ ، او ما د جینکنز پاملرنه وکړه ، د اتلاسین جیرا او بټ بکټ سره ادغام ، او همدارنګه د ازموینو سره د کوډ پوښښ. پروژه بریالۍ وه: موږ د پراختیا سلسله په بشپړه توګه اتومات کړه، په پرمختیایي سرور کې نږدې 100 up وخت ترلاسه کړ، د ازموینې سره د کوډ پوښښ څارنه او ښه کولو توان درلود، او د Git څانګه د جیرا تحویلۍ او مسلې سره تړل کیدی شي. او نږدې ټول هغه وسیلې چې موږ یې د DevOps زنځیر جوړولو لپاره کارولې خلاصې سرچینې وې.

په حقیقت کې، زنځیر ساده شوی و، ځکه چې موږ حتی د جینکنز یا ځواب ورکوونکي په کارولو سره پرمختللي ترتیبونه ندي پلي کړي. خو موږ بریالي شو. شاید دا د اصولو پایله وي پارټو (د 80/20 قاعدې په توګه).

د DevOps او CI/CD سلسلې لنډ تفصیل

DevOps مختلف تعریفونه لري. DevOps، لکه Agile، مختلف مضامین شامل دي. مګر ډیری به د لاندې تعریف سره موافق وي: DevOps د سافټویر پراختیا یوه میتود یا د ژوند دوره ده ، چې اصلي اصل یې د کلتور رامینځته کول دي چیرې چې پراختیا کونکي او نور کارمندان "په ورته طول موج کې" وي ، لاسي کار اتومات دی ، هرڅوک هغه څه کوي چې دوی یې غوره وي، د سپارلو فریکوینسي ډیریږي، د کار تولید زیاتیږي، انعطاف زیاتیږي.

پداسې حال کې چې یوازې وسیلې د DevOps چاپیریال رامینځته کولو لپاره کافي ندي ، دوی لازمي دي. د دې څخه خورا مهم دوامداره ادغام او دوامداره تحویل (CI/CD) دی. د هر چاپیریال لپاره په سلسله کې مختلف مرحلې شتون لري (د بیلګې په توګه DEV (پرمختګ)، INT (انضمام)، TST (ازموینه)، QA (کیفیت تضمین)، UAT (د کارونکي منلو ازموینه)، STG (تیارول)، PROD (استعمال)) ، لاسي کارونه اتومات دي، پراختیا کونکي کولی شي د کیفیت کوډ تولید کړي، وړاندې کړي، او په اسانۍ سره بیا رغونه کولی شي.

دا یادښت تشریح کوي چې څنګه په پنځو مرحلو کې د DevOps سلسله رامینځته کړئ ، لکه څنګه چې لاندې عکس کې ښودل شوي ، د خلاصې سرچینې وسیلو په کارولو سره.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

راځئ چې سوداګرۍ ته ښکته شو.

1 ګام: CI/CD پلیټ فارم

لومړی، تاسو د CI/CD وسیلې ته اړتیا لرئ. جینکنز د MIT جواز لرونکی ، د خلاصې سرچینې CI/CD وسیله ده چې په جاوا کې لیکل شوې چې د DevOps حرکت یې مشهور کړی او د CICD لپاره اصلي معیار ګرځیدلی.

جینکنز څه شی دی؟ تصور وکړئ چې تاسو د مختلف خدماتو او وسیلو لپاره د جادو کنټرول پینل لرئ. پخپله، د جینکنز په څیر د CI/CD وسیله بې ګټې ده، مګر د مختلفو وسیلو او خدماتو سره، دا خورا پیاوړی کیږي.

د جینکنز سربیره ، ډیری نور خلاصې سرچینې وسیلې شتون لري ، کوم چې غوره کړئ.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

دلته هغه څه دي چې د DevOps پروسه د CI/CD وسیلې سره ښکاري

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

تاسو په لوکل هوسټ کې د CI/CD وسیله لرئ، مګر لاهم د کولو لپاره ډیر څه شتون نلري. راځئ چې بل ګام ته لاړ شو.

2 ګام: نسخه کنټرول

د CI/CD وسیلې د جادو ازموینې لپاره غوره (او د دلیل ترټولو اسانه) لاره دا ده چې دا د سرچینې کنټرول مدیریت (SCM) وسیلې سره مدغم کړئ. ولې تاسو د نسخې کنټرول ته اړتیا لرئ؟ راځئ چې ووایو تاسو غوښتنلیک جوړوئ. تاسو دا په Java، Python، C++، Go، Ruby، JavaScript، یا کومې بلې ژبې کې لیکئ چې واګن او یو کوچنی کارټ دی. هغه څه چې تاسو یې لیکئ د سرچینې کوډ په نوم یادیږي. په لومړي سر کې، په ځانګړې توګه که تاسو یوازې کار کوئ، تاسو کولی شئ هرڅه په محلي لارښود کې وساتئ. مګر لکه څنګه چې پروژه وده کوي او ډیر خلک یوځای کیږي، تاسو د کوډ بدلونونو شریکولو لپاره یوې لارې ته اړتیا لرئ مګر د بدلونونو یوځای کولو پر مهال د شخړو څخه مخنیوی وکړئ. او تاسو اړتیا لرئ چې په یو ډول د بیک اپ کارولو او د کوډ فایلونو لپاره د کاپي پیسټ میتود کارولو پرته پخوانۍ نسخې بحال کړئ.

او دلته د SCM پرته هرچیرې. SCM په ذخیره کې کوډ ذخیره کوي، د هغې نسخې اداره کوي، او د پراختیا کونکو ترمنځ یې همغږي کوي.

د SCM ډیری وسیلې شتون لري ، مګر Git په حقیقي ډول د حقیقت معیار ګرځیدلی. زه تاسو ته مشوره درکوم چې دا وکاروئ، مګر نور اختیارونه شتون لري.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

دلته هغه څه دي چې د DevOps پایپ لاین د SCM اضافه کولو وروسته ښکاري.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

د CI/CD وسیله کولی شي د سرچینې کوډ اپلوډ او ډاونلوډ او ټیم همکاري اتومات کړي. بد نه دی؟ مګر اوس څنګه له دې څخه کاري غوښتنلیک رامینځته کړئ ، چې د ملیارد کاروونکو لخوا خوښ شوی؟

3 ګام: د اتوماتیک وسیله جوړه کړئ

هر څه روان دي لکه څنګه چې باید وي. تاسو کولی شئ کوډ اپلوډ کړئ او د سرچینې کنټرول کې بدلونونه ژمن کړئ، او ملګري ته بلنه ورکړئ چې تاسو سره کار وکړي. مګر تاسو لاهم اپلیکیشن نلرئ. د دې لپاره چې دا د ویب غوښتنلیک وي، دا باید د توزیع لپاره تالیف او بسته شي یا د اجرا وړ په توګه پرمخ بوځي. (د تشریح شوي پروګرامینګ ژبه لکه جاواسکریپټ یا پی ایچ پی ته اړتیا نشته چې تالیف شي.)

د جوړولو اتوماتیک وسیله وکاروئ. هر هغه وسیله چې تاسو یې غوره کوئ، دا به کوډ په سم شکل کې راټول کړي او پاکول، تالیف، ازموینه، او تحویلي اتومات کړي. د جوړولو وسیلې د ژبې له مخې توپیر لري، مګر لاندې خلاصې سرچینې اختیارونه معمولا کارول کیږي.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

کامل! اوس راځئ چې د جوړونې اتومات وسیلې ترتیب فایلونه د سرچینې کنټرول کې دننه کړو ترڅو د CI/CD وسیله دوی رامینځته کړي.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

دا ښه احساس کوي. خو دا هر څه اوس چیرته دي؟

4 ګام: د ویب غوښتنلیک سرور

نو، تاسو یو بسته شوی فایل لرئ چې کیدای شي اعدام یا رول شي. د دې لپاره چې یو غوښتنلیک واقعیا ګټور وي ، دا باید یو ډول خدمت یا انٹرفیس ولري ، مګر تاسو اړتیا لرئ دا ټول په یو ځای کې واچوئ.

یو ویب غوښتنلیک د ویب غوښتنلیک سرور کې کوربه کیدی شي. د اپلیکیشن سرور یو چاپیریال چمتو کوي چیرې چې تاسو کولی شئ بسته شوي منطق اجرا کړئ ، انٹرفیسونه وړاندې کړئ ، او ویب خدمات په ساکټ کې افشا کړئ. تاسو د HTTP سرور او یو څو نورو چاپیریالونو ته اړتیا لرئ (د مثال په توګه یو مجازی ماشین) د غوښتنلیک سرور نصبولو لپاره. د اوس لپاره، اجازه راکړئ چې تاسو د دې ټولو سره معامله کوئ کله چې تاسو لاړ شئ (که څه هم زه به د لاندې کانتینرونو په اړه وغږیږم).

ډیری خلاص ویب غوښتنلیک سرورونه شتون لري.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

موږ دمخه د نږدې کار کولو DevOps سلسله لرو. عالي دنده!

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

په اصل کې، تاسو کولی شئ دلته ودریږئ، بیا تاسو کولی شئ دا پخپله اداره کړئ، مګر دا د کوډ کیفیت په اړه د خبرو ارزښت لري.

5 ګام: د ازموینې پوښښ

ازموینه ډیر وخت او هڅې اخلي، مګر دا غوره ده چې سمدلاسه کیګونه ومومئ او کوډ ته وده ورکړئ ترڅو د پای کاروونکو خوښ کړي. د دې هدف لپاره ، ډیری خلاصې وسیلې شتون لري چې نه یوازې کوډ ازموي ، بلکه د دې ښه کولو څرنګوالي په اړه به مشوره وکړي. ډیری CI/CD وسیلې کولی شي پدې وسیلو کې ولګوي او پروسه اتومات کړي.

ازموینه په دوه برخو ویشل شوې ده: د ازموینې لیکلو او اجرا کولو لپاره د ازموینې چوکاټونه، او د کوډ کیفیت ښه کولو لپاره د اشارو سره اوزار.

د ازموینې چوکاټونه

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

د کیفیت لارښوونو سره وسایل

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

ډیری دا وسیلې او چوکاټونه د جاوا ، پایتون او جاوا سکریپټ لپاره لیکل شوي ځکه چې C++ او C# ملکیت دي (که څه هم GCC خلاص سرچینه ده).

موږ د ازموینې پوښښ وسیلې پلي کړې ، او اوس د DevOps پایپ لاین باید د ټیوټوریل په پیل کې د عکس په څیر ښکاري.

اضافي ګامونه

کانټینرونه

لکه څنګه چې ما مخکې وویل، د غوښتنلیک سرور په مجازی ماشین یا سرور کې کوربه کیدی شي، مګر کانټینرونه ډیر مشهور دي.

کانټینرونه څه دي؟ په لنډه توګه، په مجازی ماشین کې، عملیاتي سیسټم اکثرا د غوښتنلیک په پرتله ډیر ځای نیسي، او یو کانټینر معمولا د څو کتابتونونو او ترتیبونو سره کافي وي. په ځینو مواردو کې، مجازی ماشینونه اړین دي، مګر کانټینر کولی شي غوښتنلیک د سرور سره پرته له کوم اضافي لګښت څخه ځای په ځای کړي.

د کانټینرونو لپاره، Docker او Kubernetes معمولا اخیستل کیږي، که څه هم نور اختیارونه شتون لري.

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

د ډاکر او کبرنیټس په اړه مقالې ولولئ opensource.com:

د منځني وسایلو اتوماتیک وسایل

زموږ د DevOps سلسله د همکارۍ رامینځته کولو او د غوښتنلیک تحویلولو باندې تمرکز کوي ، مګر نور په زړه پوري شیان شتون لري چې تاسو یې د DevOps وسیلو سره کولی شئ. د مثال په توګه، د کوډ (IaC) وسیلو په توګه زیربنا وکاروئ، چې د منځني ماشین اتومات وسیلو په نوم هم پیژندل کیږي. دا وسیلې د مینځلو لپاره اتومات نصب ، مدیریت او نورو دندو کې مرسته کوي. د مثال په توګه، د اتوماتیک وسیله کولی شي غوښتنلیکونه (د ویب غوښتنلیک سرور، ډیټابیس، د څارنې وسیلې) د سم ترتیباتو سره واخلي او د غوښتنلیک سرور ته یې فشار ورکړي.

دلته د منځني ویئر اتوماتیک وسیلو خلاصولو لپاره ځینې اختیارونه دي:

د ډميز لارښود: د خلاصې سرچینې وسیلو سره د DevOps زنځیرونه رامینځته کول

جزیات په مقالو کې opensource.com:

اوس څه؟

دا یوازې د یخ کندې یوه برخه ده. د DevOps سلسله کولی شي ډیر څه وکړي. د CI/CD وسیلې سره پیل کړئ او وګورئ چې تاسو نور څه کولی شئ خپل کار اسانه کولو لپاره اتومات کولی شئ. په اړه مه هېروئ د مخابراتو وسیلې خلاص کړئ د اغیزمنې همکارۍ لپاره.

دلته د پیل کونکو لپاره ځینې نور ښه DevOps مقالې دي:

تاسو کولی شئ د خلاص ځیرک وسیلو سره DevOps هم مدغم کړئ:

سرچینه: www.habr.com

Add a comment