Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز
شروعاتي لاءِ پنجن مرحلن ۾ توهان جي پهرين DevOps زنجير ٺاهڻ.

DevOps تمام سست، منقطع ۽ ٻي صورت ۾ مشڪلاتي ترقي جي عملن لاء هڪ علاج بڻجي چڪو آهي. پر توهان کي DevOps ۾ گهٽ ۾ گهٽ ڄاڻ جي ضرورت آهي. اهو تصورن کي ڍڪيندو جهڙوڪ DevOps زنجير ۽ ڪيئن ٺاهيو هڪ پنجن مرحلن ۾. هي هڪ مڪمل گائيڊ ناهي، پر صرف هڪ "مڇي" جنهن کي وڌايو وڃي. اچو ته تاريخ سان شروع ڪريون.

منهنجو تعارف DevOps سان

مان Citi گروپ ۾ ڪلائوڊز سان گڏ ڪم ڪندو هوس ۽ Citi جي ڪلائوڊ انفراسٽرڪچر کي منظم ڪرڻ لاءِ IaaS ويب ايپليڪيشن ٺاهيندو هوس، پر مون کي هميشه ان ڳالهه ۾ دلچسپي رهي آهي ته ڊولپمينٽ چين کي ڪيئن بهتر بڻايو وڃي ۽ ڊولپرز جي وچ ۾ ڪلچر کي بهتر بڻايو وڃي. گريگ ليوندر، اسان جي سي ٽي او لاءِ ڪلائوڊ آرڪيٽيڪچر ۽ انفراسٽرڪچر، مون کي هي ڪتاب تجويز ڪيو. پروجيڪٽ "فينڪس". اهو وضاحت ڪري ٿو DevOps اصولن کي سهڻي ۽ پڙهي ٿو ناول وانگر.

پوئتي تي ٽيبل ڏيکاري ٿو ته ڪيترا ڀيرا ڪمپنيون نوان ورزن ٺاهي رهيا آهن:

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

Amazon، گوگل ۽ Netflix ڪيئن منظم ڪن ٿا ايترو رول آئوٽ؟ ۽ اهو سادو آهي: انهن اهو معلوم ڪيو ته ڪيئن ٺاهيو تقريبن مڪمل DevOps زنجير.

شيون اسان لاءِ Citi ۾ تمام مختلف هيون جيستائين اسان DevOps ڏانهن تبديل نه ڪيو. پوءِ منهنجي ٽيم ۾ مختلف ماحول هئا، پر اسان ڊولپمينٽ سرور کي دستي طور تي پهچايو. IBM WebSphere Application Server Community Edition جي بنياد تي سڀني ڊولپرز کي صرف ھڪڙي ڊولپمينٽ سرور تائين رسائي ھئي. هڪ ئي وقت پهچائڻ جي ڪوشش سان، سرور "گر" ويو، ۽ هر ڀيري اسان کي پاڻ ۾ "درد سان" ڳالهين ڪرڻو پوندو. اسان وٽ ٽيسٽن سان گڏ ڪافي ڪوڊ ڪوريج به نه ھئي، ھڪ وقت گذرڻ وارو دستي ترسيل وارو عمل، ۽ ڪنھن ڪم يا ڪلائنٽ جي ضرورت جي مدد سان ڪوڊ جي ترسيل کي ٽريڪ ڪرڻ جو ڪو طريقو نه ھو.

اها ڳالهه واضح هئي ته ڪجهه فوري طور تي ڪرڻ جي ضرورت آهي، ۽ مون کي هڪ هم خيال ساٿي مليو. اسان گڏجي پهريون DevOps زنجير ٺاهڻ جو فيصلو ڪيو - هن هڪ ورچوئل مشين ۽ هڪ ٽامڪيٽ ايپليڪيشن سرور قائم ڪيو، ۽ مون جينڪنز جو خيال رکيو، ائٽلاسين جيرا ۽ بٽ بڪٽ سان انضمام، ۽ گڏوگڏ ٽيسٽن سان ڪوڊ ڪوريج. پروجيڪٽ ڪامياب ٿي ويو: اسان ڊولپمينٽ چين کي مڪمل طور تي خودڪار ڪيو، ڊولپمينٽ سرور تي تقريباً 100٪ اپ ٽائم حاصل ڪيو، ٽيسٽن سان ڪوڊ ڪوريج مانيٽر ڪرڻ ۽ بهتر ڪرڻ جي قابل هئا، ۽ گيٽ برانچ کي جيرا جي ترسيل ۽ مسئلي سان ڳنڍجي سگهجي ٿو. ۽ تقريبن سڀئي اوزار جيڪي اسان استعمال ڪندا هئا DevOps زنجير ٺاهڻ لاءِ کليل ذريعو هئا.

حقيقت ۾، زنجير کي آسان ڪيو ويو، ڇاڪاڻ ته اسان جينڪنز يا جوابي استعمال ڪندي ترقي يافته ترتيبن کي لاڳو نه ڪيو. پر اسان ڪامياب ٿياسين. شايد اهو اصول جو نتيجو آهي پارتو (اڪا 80/20 قاعدو).

DevOps ۽ CI/CD زنجير جو مختصر بيان

DevOps مختلف معنائون آهن. DevOps، Agile وانگر، مختلف مضمونن ۾ شامل آهن. پر گھڻا ھيٺ ڏنل تعريف سان متفق ٿيندا: DevOps سافٽ ويئر ڊولپمينٽ جو ھڪڙو طريقو، يا زندگي جي چڪر آھي، جنھن جو بنيادي اصول ھڪڙو ڪلچر ٺاھڻ آھي جتي ڊولپرز ۽ ٻيا ملازم ”ساڳي موج تي“ ھجن، دستي مزدوري پاڻمرادو آھي، هرڪو اهو ڪري ٿو جيڪو اهي بهترين آهن، ترسيل جي تعدد وڌائي ٿي، ڪم جي پيداوار وڌائي ٿي، لچڪ وڌائي ٿي.

جڏهن ته اڪيلو اوزار DevOps ماحول ٺاهڻ لاءِ ڪافي نه آهن، اهي ناگزير آهن. انهن مان سڀ کان اهم آهي مسلسل انضمام ۽ مسلسل پهچائڻ (CI/CD). ھر ماحول لاءِ زنجير ۾ مختلف مرحلا آھن (مثال طور DEV (ترقي)، INT (انضمام)، TST (ٽيسٽنگ)، QA (معيار جي ضمانت)، UAT (صارف جي قبوليت جي جاچ)، STG (تيار ڪرڻ)، PROD (استعمال)) ، دستي ڪم خودڪار آهن، ڊولپرز معيار ڪوڊ پيدا ڪري سگھن ٿا، ان کي پهچائي، ۽ آساني سان ٻيهر تعمير ڪري سگھن ٿا.

هي نوٽ بيان ڪري ٿو ته ڪيئن ٺاهيو هڪ DevOps زنجير پنجن مرحلن ۾، جيئن هيٺ ڏنل تصوير ۾ ڏيکاريل آهي، اوپن سورس اوزار استعمال ڪندي.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

اچو ته ڪاروبار ڏانهن وڃو.

قدم 1: CI/CD پليٽ فارم

سڀ کان پهريان، توهان کي ضرورت آهي CI/CD اوزار. جينڪنز هڪ MIT-لائسنس ٿيل، اوپن سورس CI/CD ٽول آهي جاوا ۾ لکيل آهي جنهن DevOps تحريڪ کي مقبول ڪيو ۽ CICD لاءِ ڊي فيڪٽو معيار بڻجي ويو آهي.

Jenkins ڇا آهي؟ تصور ڪريو ته توھان وٽ آھي ھڪ جادوئي ڪنٽرول پينل مختلف خدمتن ۽ اوزارن لاءِ. پنهنجي طور تي، جينڪنز وانگر هڪ CI/CD اوزار بيڪار آهي، پر مختلف اوزارن ۽ خدمتن سان، اهو تمام طاقتور ٿي ويندو آهي.

جينڪنز کان علاوه، ٻيا ڪيترائي اوپن سورس ٽولز آھن، ڪو به چونڊيو.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

هتي اهو آهي ته هڪ DevOps عمل CI / CD ٽول سان ڏسڻ جهڙو آهي

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

توهان وٽ مقامي هوسٽ ۾ هڪ CI/CD اوزار آهي، پر اڃا تائين گهڻو ڪجهه ناهي. اچو ته ايندڙ قدم ڏانهن وڃو.

قدم 2: ورجننگ

CI/CD ٽول جي جادوءَ کي جانچڻ لاءِ بهترين (۽ معقول طور تي آسان) طريقو اهو آهي ته ان کي سورس ڪنٽرول مئنيجمينٽ (SCM) ٽول سان ضم ڪيو وڃي. توهان کي ورجن ڪنٽرول جي ضرورت ڇو آهي؟ اچو ته چئو ته توهان هڪ درخواست ڪري رهيا آهيو. توھان ان کي Java, Python, C++, Go, Ruby, JavaScript يا ڪنھن ٻي ٻوليءَ ۾ لکو جيڪو ويگن ۽ ٿوري ڪارٽ آھي. جيڪو توهان لکندا آهيو ان کي سورس ڪوڊ چئبو آهي. پهرين ۾، خاص طور تي جيڪڏهن توهان اڪيلو ڪم ڪري رهيا آهيو، توهان هر شيء کي مقامي ڊاريڪٽري ۾ محفوظ ڪري سگهو ٿا. پر جيئن ته پروجيڪٽ وڌندو آهي ۽ وڌيڪ ماڻهو شامل ٿيندا آهن، توهان کي ڪوڊ تبديلين کي شيئر ڪرڻ لاءِ هڪ طريقي جي ضرورت هوندي آهي پر تبديلين کي ضم ڪرڻ وقت تڪرار کان پاسو ڪيو. ۽ توهان کي پڻ ضرورت آهي ڪنهن به طريقي سان اڳئين ورزن کي بحال ڪرڻ جي بغير بيڪ اپ استعمال ڪرڻ ۽ ڪوڊ فائلن لاءِ ڪاپي پيسٽ جو طريقو استعمال ڪندي.

۽ هتي SCM کان سواء ڪٿي به. SCM ذخيرو ۾ ڪوڊ رکي ٿو، ان جي نسخن کي منظم ڪري ٿو، ۽ ان کي ڊولپرز جي وچ ۾ همراه ڪري ٿو.

اتي ڪيترائي SCM اوزار آھن، پر Git مستحق طور تي حقيقي معيار بڻجي چڪو آھي. مان توهان کي ان کي استعمال ڪرڻ جي صلاح ڏيان ٿو، پر ٻيا اختيار آهن.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

هتي اهو آهي ته DevOps پائپ لائن SCM شامل ڪرڻ کان پوءِ ڏسڻ ۾ اچي ٿي.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

CI/CD اوزار خودڪار ڪري سگھي ٿو ماخذ ڪوڊ اپلوڊ ۽ ڊائون لوڊ ۽ ٽيم تعاون. برو ناهي؟ پر هاڻي هن مان هڪ ڪم ڪندڙ ايپليڪيشن ڪيئن ٺاهيو، اربين صارفين طرفان پيار ڪيو ويو؟

قدم 3: ٺاھيو آٽوميشن ٽول

سڀ ڪجهه ائين ٿي رهيو آهي جيئن ان کي گهرجي. توھان ڪوڊ اپلوڊ ڪري سگھوٿا ۽ ماخذ ڪنٽرول ۾ تبديليون ڪري سگھو ٿا، ۽ دوستن کي توھان سان ڪم ڪرڻ جي دعوت ڏئي سگھو ٿا. پر توهان وٽ اڃا تائين ايپ ناهي. ان لاءِ ويب ايپليڪيشن ٿيڻ لاءِ، ان کي لازمي طور تي مرتب ڪيو وڃي ۽ ورهائڻ لاءِ پيڪيج ڪيو وڃي يا ايگزيڪيوٽيبل جي طور تي هلايو وڃي. (هڪ تشريح ڪيل پروگرامنگ ٻولي جهڙوڪ JavaScript يا PHP کي مرتب ڪرڻ جي ضرورت ناهي.)

استعمال ڪريو تعمير خودڪار اوزار. جيڪو به اوزار توهان چونڊيو، اهو ڪوڊ کي صحيح شڪل ۾ گڏ ڪندو ۽ خودڪار صفائي، تاليف، جانچ، ۽ پهچائڻ. تعمير جا اوزار ٻولي جي لحاظ کان مختلف آھن، پر ھيٺيون اوپن سورس جا اختيار عام طور استعمال ڪيا ويندا آھن.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

ڪامل! ھاڻي اچو ته بلڊ آٽوميشن ٽول ڪنفيگريشن فائلن کي سورس ڪنٽرول ۾ داخل ڪريون ته جيئن CI/CD ٽول انھن کي ٺاھي.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

اهو سٺو لڳندو آهي. پر هاڻي اهو سڀ ڪجهه ڪٿي آهي؟

قدم 4: ويب ايپليڪيشن سرور

تنهن ڪري، توهان وٽ هڪ پيڪيج ٿيل فائل آهي جيڪا عمل ڪري سگهجي ٿي يا رول آئوٽ ٿي سگهي ٿي. ايپليڪيشن لاءِ واقعي ڪارآمد ٿيڻ لاءِ، ان ۾ ڪنهن نه ڪنهن قسم جي خدمت يا انٽرفيس هجڻ لازمي آهي، پر توهان کي اهو سڀ ڪجهه ڪٿي رکڻو پوندو.

هڪ ويب ايپليڪيشن ويب ايپليڪيشن سرور تي ميزباني ڪري سگهجي ٿي. ايپليڪيشن سرور هڪ ماحول فراهم ڪري ٿو جتي توهان پيڪيج ٿيل منطق تي عمل ڪري سگهو ٿا، انٽرفيس پيش ڪري سگهو ٿا، ۽ هڪ ساکٽ تي ويب خدمتن کي ظاهر ڪري سگهو ٿا. توھان کي ضرورت آھي ھڪڙو HTTP سرور ۽ ڪجھ ٻيا ماحول (مثال طور ھڪ ورچوئل مشين) ايپليڪيشن سرور کي انسٽال ڪرڻ لاءِ. هينئر لاءِ، اچو ته اهو سمجهون ته توهان هن سڀني سان ڊيل ڪري رهيا آهيو جيئن توهان وڃو (جيتوڻيڪ آئون هيٺ ڏنل ڪنٽينرز بابت ڳالهائيندس).

اتي ڪيترائي کليل ويب ايپليڪيشن سرور آهن.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

اسان وٽ اڳ ۾ ئي لڳ ڀڳ ڪم ڪندڙ DevOps زنجير آهي. تمام سٺو ڪم!

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

اصول ۾، توهان هتي روڪي سگهو ٿا، پوء توهان ان کي سنڀالي سگهو ٿا، پر اهو ڪوڊ جي معيار بابت ڳالهائڻ جي قابل آهي.

قدم 5: ٽيسٽ ڪوريج

جاچ ۾ تمام گهڻو وقت ۽ ڪوشش لڳندي آهي، پر اهو بهتر آهي ته فوري طور تي بگ ڳولڻ ۽ ڪوڊ کي بهتر بنائڻ لاءِ آخري استعمال ڪندڙن کي خوش ڪرڻ لاءِ. هن مقصد لاءِ، اهڙا ڪيترائي کليل اوزار آهن جيڪي نه رڳو ڪوڊ کي جانچيندا، پر ان کي بهتر ڪرڻ جي صلاح به ڏيندا. گھڻا CI / CD اوزار انھن اوزارن ۾ پلگ ان ڪري سگھن ٿا ۽ عمل کي خودڪار ڪري سگھن ٿا.

ٽيسٽ کي ٻن حصن ۾ ورهايو ويو آهي: ٽيسٽ لکڻ ۽ عمل ڪرڻ لاءِ جاچ فريم ورڪ، ۽ ٽولز اشارن سان ڪوڊ جي معيار کي بهتر ڪرڻ لاءِ.

جاچ فريم ورڪ

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

معيار جي ٽولن سان اوزار

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

انهن مان گھڻا اوزار ۽ فريم ورڪ جاوا، پٿون، ۽ جاوا اسڪرپٽ لاءِ لکيل آھن ڇاڪاڻ ته C++ ۽ C# ملڪيت آھن (جيتوڻيڪ GCC اوپن سورس آھي).

اسان لاڳو ڪيو آھي ٽيسٽ ڪوريج جا اوزار، ۽ ھاڻي DevOps پائپ لائن کي ڏسڻ گھرجي تصوير وانگر سبق جي شروعات ۾.

اضافي قدم

ڪنٽينر

جيئن مون اڳ ۾ چيو آهي، هڪ ايپليڪيشن سرور کي ميزباني ڪري سگهجي ٿو هڪ مجازي مشين يا سرور ۾، پر ڪنٽينر وڌيڪ مشهور آهن.

ڪنٽينر ڇا آهن؟ مختصر ۾، هڪ مجازي مشين ۾، آپريٽنگ سسٽم اڪثر ڪري ايپليڪيشن کان وڌيڪ جاء وٺندو آهي، ۽ هڪ ڪنٽينر عام طور تي ڪجهه لائبريرين ۽ ترتيبن سان ڪافي آهي. ڪجهه حالتن ۾، مجازي مشينون ناگزير آهن، پر ڪنٽينر ايپليڪيشن کي سرور سان گڏ بغير ڪنهن اضافي قيمت سان گڏ ڪري سگهي ٿو.

ڪنٽينرز لاء، ڊڪر ۽ ڪبرنيٽس عام طور تي ورتو وڃي ٿو، جيتوڻيڪ ٻيا اختيار موجود آهن.

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

Docker ۽ Kubernetes بابت مضمون پڙهو اوپنسيس. com:

Middleware خودڪار اوزار

اسان جو DevOps زنجير تعاون سان تعمير ڪرڻ ۽ ايپليڪيشن جي ترسيل تي مرکوز آهي، پر ٻيون به دلچسپ شيون آهن جيڪي توهان DevOps ٽولز سان ڪري سگهو ٿا. مثال طور، انفرااسٽرڪچر استعمال ڪريو ڪوڊ (IaC) اوزار، پڻ سڃاتل آھي مڊل ويئر آٽوميشن اوزار. اهي اوزار خودڪار تنصيب، انتظام، ۽ وچولي ويئر لاء ٻين ڪمن ۾ مدد ڪن ٿيون. مثال طور، هڪ آٽوميشن ٽول ايپليڪيشنن کي وٺي سگھي ٿو (ويب ايپليڪيشن سرور، ڊيٽابيس، مانيٽرنگ ٽولز) صحيح ترتيبن سان ۽ انھن کي ايپليڪيشن سرور ڏانھن ڌڪي سگھي ٿو.

ھتي ڪجھ اختيار آھن کليل مڊل ويئر آٽوميشن ٽولز لاءِ:

Dummies Guide: بلڊنگ DevOps Chains سان اوپن سورس ٽولز

مضمونن ۾ تفصيل اوپنسيس. com:

هاڻي ڇا؟

هي صرف برفاني چوٽي جو ٽڪرو آهي. DevOps زنجير گهڻو ڪجهه ڪري سگهي ٿو. هڪ CI/CD ٽول سان شروع ڪريو ۽ ڏسو ته توهان پنهنجو ڪم آسان ڪرڻ لاءِ ٻيو ڇا ڪري سگهو ٿا. جي باري ۾ نه وساريو کليل رابطي جا اوزار مؤثر تعاون لاء.

هتي آهن ڪجهه وڌيڪ سٺا DevOps آرٽيڪل شروعاتي لاءِ:

توھان پڻ ضم ڪري سگھو ٿا DevOps کليل چست اوزارن سان:

جو ذريعو: www.habr.com

تبصرو شامل ڪريو