Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو

پيداوار ۾ نئين پروجيڪٽ جي رليز کي آڻڻ جي ضرورت آهي هڪ محتاط توازن جي وچ ۾ تعیناتي جي رفتار ۽ حل جي اعتبار جي. سستي قدر تيزيءَ سان ورجائي، مختصر موٽ واري چڪر، ۽ صارف جي درخواستن تي فوري جواب. ان کان علاوه، ڪمپني جا سوين پروگرامر آهن جيڪي ممڪن طور تي پيداوار هجڻ جي ڪوشش ڪندا آهن.

Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو

مواد جي مصنفن، جنهن جو ترجمو اڄ اسين شايع ڪري رهيا آهيون، چون ٿا ته هڪ ڪمپني جيڪا ڪوشش ڪري ٿي اهڙين قدرن تي عمل ڪرڻ ۽ ساڳئي وقت وڌندي وڌندي مسلسل پنهنجي منصوبي جي ترتيب واري نظام کي بهتر بڻائڻ گهرجي. ڪمپني کي ڪم جي عمل جي شفافيت ۽ اعتبار ۾ سيڙپ ڪرڻ جي ضرورت آهي، انهي کي يقيني بڻائڻ لاءِ ته اهي عمل پروجيڪٽ جي پيماني سان ملن ٿا. هتي اسان ڪم جي فلوز بابت ڳالهائينداسين جيڪي Slack ۾ ترقي ڪيا ويا آهن، ۽ ڪجهه فيصلن جي باري ۾ جيڪي ڪمپني کي پروجيڪٽ جي ترتيب واري نظام کي استعمال ڪرڻ جي هدايت ڪئي جيڪا اڄ موجود آهي.

ڪيئن پروجيڪٽ جي لڳائڻ جي عمل اڄ ڪم

Slack ۾ هر پي آر (پلڻ جي درخواست) لازمي طور تي ڪوڊ جي نظرثاني جي تابع هجڻ گهرجي ۽ سڀني ٽيسٽن کي ڪاميابي سان پاس ڪرڻ گهرجي. صرف انهن شرطن جي ملڻ کان پوء پروگرامر پنهنجي ڪوڊ کي منصوبي جي ماسٽر برانچ ۾ ضم ڪري سگهي ٿو. بهرحال، هي ڪوڊ صرف ڪاروباري ڪلاڪن دوران، اتر آمريڪي وقت تي لڳايو ويو آهي. نتيجي طور، حقيقت اها آهي ته اسان جا ملازم پنهنجن ڪم جي جڳهن تي آهن، اسان ڪنهن به غير متوقع مسئلن کي حل ڪرڻ لاء مڪمل طور تي تيار آهيون.

هر روز اسان اٽڪل 12 منصوبابندي ڪيل تعينات ڪندا آهيون. هر هڪ مقرري دوران، پروگرامر نامزد ڪيو ويو آهي مقرري جي اڳواڻي پيداوار ۾ نئين تعمير حاصل ڪرڻ لاء ذميوار آهي. اهو هڪ گھڻ-قدم عمل آهي جيڪو يقيني بڻائي ٿو ته اسيمبليء کي آسانيء سان پيداوار ۾ آندو ويو آهي. هن طريقي جي مهرباني، اسان غلطيون ڳولي سگهون ٿا ان کان اڳ جو اهي اسان جي سڀني استعمال ڪندڙن کي متاثر ڪن. جيڪڏهن تمام گهڻيون غلطيون آهن، اسيمبليء جي ترتيب کي واپس آڻي سگهجي ٿو. جيڪڏهن هڪ مخصوص مسئلو دريافت ٿيڻ کان پوء دريافت ڪيو ويو آهي، هڪ حل آساني سان ان لاء جاري ڪري سگهجي ٿو.

Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو
چيڪ پوائنٽ سسٽم جو انٽرفيس، جيڪو استعمال ڪيو ويندو آهي Slack ۾ منصوبن کي ترتيب ڏيڻ لاء

پيداوار لاءِ نئين رليز کي ترتيب ڏيڻ جي عمل کي چار مرحلن تي مشتمل سمجهي سگهجي ٿو.

▍1. رليز برانچ ٺاهڻ

هر رليز هڪ نئين رليز برانچ سان شروع ٿئي ٿي، اسان جي گٽ جي تاريخ ۾ هڪ نقطو. هي توهان کي اجازت ڏئي ٿو رليز تي ٽيگ تفويض ڪرڻ ۽ هڪ جڳهه مهيا ڪري ٿي جتي توهان جاري ڪيل پيداوار لاءِ رليز تيار ڪرڻ جي عمل ۾ مليا ڪيل بگ لاءِ لائيو فيڪس ڪري سگهو ٿا.

▍2. اسٽيجنگ ماحول ۾ ترتيب ڏيڻ

ايندڙ قدم اسٽيجنگ سرورز تي اسيمبليءَ کي ترتيب ڏيڻ ۽ منصوبي جي مجموعي ڪارڪردگيءَ لاءِ هڪ خودڪار ٽيسٽ هلائڻ آهي (تماڪ جي ٽيسٽ). اسٽيجنگ ماحول هڪ پيداوار ماحول آهي جيڪو خارجي ٽرئفڪ حاصل نٿو ڪري. هن ماحول ۾، اسان اضافي دستي جاچ پڙتال ڪندا آهيون. هي اسان کي اضافي اعتماد ڏئي ٿو ته تبديل ٿيل پروجيڪٽ صحيح ڪم ڪري ٿو. هن سطح جي اعتماد کي مهيا ڪرڻ لاءِ اڪيلو خودڪار ٽيسٽون ڪافي نه آهن.

▍3. ڊاگ فوڊ ۽ ڪينري ماحول ۾ تعیناتي

پيداوار تي مقرري هڪ ڊاگ فوڊ ماحول سان شروع ٿئي ٿي، ميزبانن جي هڪ سيٽ جي نمائندگي ڪري ٿي جيڪا اسان جي اندروني سست ڪم جي جڳهه جي خدمت ڪري ٿي. جيئن ته اسين ڏاڍا سرگرم Slack استعمال ڪندڙ آھيون، ھن طريقي کي کڻڻ اسان جي مدد ڪئي آھي گھڻا ڪيڙا پڪڙڻ جي شروعات ۾. اسان کي پڪ ڪرڻ کان پوء، سسٽم جي بنيادي ڪارڪردگي کي ٽوڙيو نه ويو آهي، اسيمبلي کي ڪينري ماحول ۾ پهچايو ويندو آهي. اهو سسٽم جي نمائندگي ڪري ٿو جيڪو تقريبن 2٪ پيداوار جي ٽرئفڪ جي حساب سان.

▍4. پيداوار لاء تدريجي ڇڏڻ

جيڪڏهن نئين رليز لاءِ مانيٽرنگ اشارا ثابت ٿين ٿا، ۽ جيڪڏهن پروجيڪٽ کي ڪينري ماحول ۾ لڳائڻ کان پوءِ اسان کي ڪا به شڪايت نه ملي آهي، ته اسان اڳتي وڌندا رهون ٿا پروڊڪشن سرورز کي نئين رليز ڏانهن منتقلي. مقرري جي عمل کي هيٺين مرحلن ۾ ورهايو ويو آهي: 10٪، 25٪، 50٪، 75٪ ۽ 100٪. نتيجي طور، اسان سست رفتاري سان پيداوار ٽرئفڪ کي سسٽم جي نئين رليز ڏانهن منتقل ڪري سگھون ٿا. ساڳئي وقت، اسان وٽ وقت آهي ته صورتحال جي تحقيق ڪرڻ لاء جيڪڏهن ڪنهن به غير معموليات معلوم ٿئي ٿي.

▍جيڪڏھن مقرري دوران ڪجھ غلط ٿي وڃي ته ڇا ٿيندو؟

ڪوڊ ۾ تبديليون ڪرڻ هميشه هڪ خطرو آهي. پر اسان هن سان مقابلو ڪريون ٿا سٺي تربيت يافته ”تعيناتي اڳواڻن“ جي موجودگي جي مهرباني جيڪي پيداوار ۾ نئين رليز آڻڻ جي عمل کي منظم ڪن ٿا ، نگراني جي اشارن جي نگراني ڪن ٿا ۽ ڪوڊ جاري ڪرڻ واري پروگرامرز جي ڪم کي همٿائين ٿا.

ان صورت ۾ ته واقعي ڪجهه غلط ٿي وڃي، اسان ڪوشش ڪريون ته مسئلي کي جلد کان جلد ڳولڻ جي. اسان مسئلي جي تحقيق ڪريون ٿا، پي آر ڳولھيو جيڪو غلطين جو سبب بڻيل آھي، ان کي واپس آڻيو، ان جو چڱيءَ طرح تجزيو ڪيو، ۽ نئين تعمير ٺاھيو. سچ، ڪڏهن ڪڏهن اهو مسئلو اڻڄاتل آهي جيستائين پروجيڪٽ جي پيداوار ۾ نه وڃي. اهڙي صورتحال ۾، سڀ کان اهم شيء خدمت بحال ڪرڻ آهي. تنهن ڪري، ان کان اڳ جو اسان مسئلي جي تحقيق ڪرڻ شروع ڪريون، اسان فوري طور تي اڳوڻي ڪم ڪندڙ تعمير ڏانهن واپس وڃو.

ٺاھڻ واري نظام جي بلڊنگ بلاڪ

اچو ته ڏسون ٽيڪنالاجيون جيڪي اسان جي پروجيڪٽ جي ترتيب ڏيڻ واري نظام کي هيٺ آڻين ٿيون.

▍جلدي ترتيب ڏيڻ

مٿي بيان ڪيل ڪم فلو لڳي سگھي ٿو، ماضي ۾، ڪجهه واضح. پر اسان جي ڊيپلائيشن جو نظام هن وقت ائين نه ٿيو.

جڏهن ڪمپني تمام ننڍي هئي، اسان جي سموري ايپليڪيشن 10 Amazon EC2 مثالن تي هلائي سگهي ٿي. ھن صورتحال ۾ پروجيڪٽ کي ترتيب ڏيڻ جو مطلب آھي rsync استعمال ڪندي جلدي سڀني سرورن کي هم وقت سازي ڪرڻ لاءِ. اڳي، نئون ڪوڊ پيداوار کان صرف هڪ قدم پري هو، اسٽيجنگ ماحول جي نمائندگي ڪندي. اهڙي ماحول ۾ اسيمبليون ٺاهيا ۽ آزمايا ويا، ۽ پوءِ سڌو سنئون پيداوار ڏانهن ويا. اهڙي نظام کي سمجهڻ تمام آسان هو؛ اهو ڪنهن به پروگرامر کي اجازت ڏئي ٿو ته هو ڪنهن به وقت لکيل ڪوڊ کي ترتيب ڏئي.

پر جيئن جيئن اسان جي گراهڪن جو تعداد وڌندو ويو، تيئن ان منصوبي کي سپورٽ ڪرڻ لاءِ گهربل بنيادي ڍانچي جو پيمانو به وڌندو ويو. جلد ئي، سسٽم جي مسلسل ترقي کي ڏنو ويو، اسان جي ترتيب واري ماڊل، نئين ڪوڊ کي سرور ڏانهن ڌڪڻ جي بنياد تي، هاڻي پنهنجو ڪم نه ڪري رهيو هو. يعني، هر نئين سرور کي شامل ڪرڻ جو مطلب آهي وقت وڌائڻ لاءِ گهربل وقت وڌائڻ. جيتوڻيڪ حڪمت عمليون rsync جي متوازي استعمال تي ٻڌل آهن ڪجهه حدون آهن.

اسان مڪمل طور تي متوازي ڊيپلائيمينٽ سسٽم ڏانهن منتقل ڪندي هن مسئلي کي حل ڪيو، جيڪو پراڻي سسٽم کان مختلف طرح سان ٺهيل هو. يعني، ھاڻي اسان ڪوڊ نه موڪليو آھي سرورز کي ھڪ هم وقت سازي اسڪرپٽ استعمال ڪندي. ھاڻي ھر سرور آزاديءَ سان نئين اسيمبليءَ کي ڊائون لوڊ ڪيو، ڄاڻو ته ان کي ڪنسل جي ڪيئي تبديلي جي نگراني ڪندي ائين ڪرڻ جي ضرورت آھي. سرورز ڪوڊ کي متوازي ۾ لوڊ ڪيو. اهو اسان کي مسلسل سسٽم جي ترقي جي ماحول ۾ پڻ تيز رفتار جي تعیناتي کي برقرار رکڻ جي اجازت ڏني.

Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو
1. پيداوار سرورز ڪنسل جي ڪنجي جي نگراني ڪن ٿا. 2. اهم تبديليون، هي سرورز کي ٻڌائي ٿو ته انهن کي نئين ڪوڊ ڊائون لوڊ ڪرڻ شروع ڪرڻ جي ضرورت آهي. 3. سرورز ڊائون لوڊ ڪريو ٽاربال فائلون ايپليڪيشن ڪوڊ سان

▍ ايٽمي تعیناتي

هڪ ٻيو حل جنهن اسان کي گهڻ-ٽيئر ڊيپلائيشن سسٽم تائين پهچڻ ۾ مدد ڪئي، ائٽمي ڊيپلائيشن هئي.

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

ٽيم جنهن هن مسئلي تي ڪم ڪيو ان کي "گرم" ۽ "ٿڌي" ڊائريڪٽرن جي تصور کي متعارف ڪرائڻ سان حل ڪيو. گرم ڊاريڪٽري ۾ ڪوڊ پروسيسنگ جي پيداوار ٽرئفڪ لاء ذميوار آهي. ۽ "ٿڌي" ڊائريڪٽرن ۾، ڪوڊ، جڏهن سسٽم هلائي رهيو آهي، صرف استعمال لاء تيار ڪيو پيو وڃي. تعیناتي دوران، نئون ڪوڊ نقل ڪيو ويو آھي ھڪڙي غير استعمال ٿيل سرد ڊاريڪٽري ۾. پوء، جڏهن سرور تي ڪو به فعال عمل نه آهي، هڪ فوري ڊائريڪٽري سوئچ ڪيو ويندو آهي.

Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو
1. ايپليڪيشن ڪوڊ کي "ٿڌي" ڊاريڪٽري ۾ پيڪ ڪرڻ. 2. سسٽم کي "ٿڌي" ڊاريڪٽري ۾ تبديل ڪرڻ، جيڪو "گرم" (ائٽمي آپريشن) ٿي وڃي ٿو.

نتيجا: اعتماد ۾ زور ۾ ڦيرائڻ

2018 ۾، پروجيڪٽ اهڙي پيماني تي وڌيو ته تمام تيزيءَ سان لڳائڻ شروع ڪيو پراڊڪٽ جي استحڪام کي نقصان پهچائڻ. اسان وٽ هڪ تمام ترقي يافته ترتيب ڏيڻ وارو نظام هو جنهن ۾ اسان تمام گهڻو وقت ۽ ڪوشش ڪئي. اسان کي صرف ڪرڻ جي ضرورت هئي ٻيهر تعمير ڪرڻ ۽ اسان جي ڊيپلائيشن جي عمل کي بهتر ڪرڻ. اسان هڪ وڏي ڪمپني بڻجي چڪا آهيون، جنهن جي ترقي سڄي دنيا ۾ استعمال ڪئي وئي آهي بي ترتيب رابطي کي منظم ڪرڻ ۽ اهم مسئلن کي حل ڪرڻ لاء. تنهن ڪري، اعتبار اسان جي توجه جو مرڪز بڻجي ويو.

اسان کي نئين سليڪ رليز کي ترتيب ڏيڻ جي عمل کي وڌيڪ محفوظ بڻائڻ جي ضرورت آهي. اها ضرورت اسان کي اسان جي ترتيب ڏيڻ واري نظام کي بهتر ڪرڻ جي هدايت ڪئي. حقيقت جي طور تي، اسان مٿي ڄاڻايل سسٽم کي بهتر ڪيو. سسٽم جي کوٽائي ۾، اسان تيز ۽ ايٽمي ڊيپلومينٽ ٽيڪنالاجيز کي استعمال ڪرڻ جاري رکون ٿا. ترتيب ڏيڻ جو طريقو تبديل ٿي چڪو آهي. اسان جو نئون سسٽم مختلف سطحن تي، مختلف ماحولن ۾ تدريجي طور نئين ڪوڊ کي ترتيب ڏيڻ لاءِ ٺهيل آهي. اسان هاڻي استعمال ڪندا آهيون وڌيڪ جديد سپورٽ اوزار ۽ سسٽم مانيٽرنگ جا اوزار اڳي کان. هي اسان کي غلطين کي پڪڙڻ ۽ درست ڪرڻ جي صلاحيت ڏئي ٿو ان کان اڳ جو انهن کي آخري صارف تائين پهچڻ جو موقعو آهي.

پر اسان اتي وڃڻ وارا نه آهيون. اسان هن سسٽم کي مسلسل بهتر ڪري رهيا آهيون، وڌيڪ جديد معاون اوزار ۽ ڪم آٽوميشن اوزار استعمال ڪندي.

پيارا پڙهندڙن! نئين پروجيڪٽ رليز کي ترتيب ڏيڻ جو عمل ڪيئن ڪم ڪندو آهي جتي توهان ڪم ڪندا آهيو؟

Slack ۾ استعمال ٿيل پروجيڪٽ جي ٺهڻ جو طريقو

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

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