Continuous delivery
مسلسل ترسیل (سی ڈی) ایک سافٹ ویئر انجینئرنگ کا نقطہ نظر ہے جس میں ٹیمیں مختصر چکروں میں سافٹ ویئر تیار کرتی ہیں، اس بات کو یقینی بناتی ہیں کہ سافٹ ویئر کو کسی بھی وقت قابل اعتماد طریقے سے جاری کیا جا سکتا ہے اور دستی طور پر ایسا کیے بغیر "پروڈکشن جیسے ماحول" کے ذریعے پائپ لائن کی پیروی کی جا سکتی ہے۔ اس کا مقصد زیادہ رفتار اور تعدد کے ساتھ سافٹ ویئر بنانا، جانچنا اور جاری کرنا ہے۔ یہ نقطہ نظر پیداوار میں ایپلی کیشنز کو مزید اضافی اپ ڈیٹس کی اجازت دے کر لاگت، وقت اور تبدیلیوں کی فراہمی کے خطرے کو کم کرنے میں مدد کرتا ہے۔ مسلسل ترسیل کے لیے سیدھا اور بار بار تعیناتی کا عمل اہم ہے۔ اصول مسلسل ترسیل تعیناتی پائپ لائن کے عام تصور کو ایک دبلی پتلی پوکا یوک کے طور پر پیش کرتی ہے: توثیق کا ایک مجموعہ جس کے ذریعے سافٹ ویئر کے ایک ٹکڑے کو جاری کرنے کے راستے سے گزرنا پڑتا ہے۔ اگر ضروری ہو تو کوڈ مرتب کیا جاتا ہے اور پھر ہر بار جب کوئی تبدیلی سورس کنٹرول ریپوزیٹری میں کی جاتی ہے تو بلڈ سرور کے ذریعے پیک کیا جاتا ہے، پھر اس سے پہلے کہ اسے ریلیز ایبل کے طور پر نشان زد کیا جا سکے، متعدد مختلف تکنیکوں (ممکنہ طور پر دستی جانچ سمیت) کے ذریعے جانچ کی جاتی ہے۔ طویل سائیکل کے وقت کے عادی ڈویلپرز کو سی ڈی ماحول میں کام کرتے وقت اپنی ذہنیت کو تبدیل کرنے کی ضرورت پڑ سکتی ہے۔ یہ سمجھنا ضروری ہے کہ کوئی بھی کوڈ کمیشن کسی بھی وقت صارفین کو جاری کیا جا سکتا ہے۔ فیچر ٹوگل جیسے نمونے کوڈ کو جلد انجام دینے کے لیے بہت مفید ہو سکتے ہیں جو ابھی تک اختتامی صارفین کے استعمال کے لیے تیار نہیں ہے۔ این او ایس کیو ایل کا استعمال ڈیٹا کی منتقلی اور اسکیما تبدیلیوں کے مرحلے کو ختم کر سکتا ہے، اکثر دستی اقدامات یا مسلسل ڈیلیوری ورک فلو سے مستثنیات۔ الگ تھلگ کوڈ تیار کرنے کے لیے دیگر مفید تکنیکیں جیسے کوڈ برانچنگ سی ڈی کی دنیا میں متروک نہیں ہیں، لیکن انہیں سی ڈی کے اصولوں کے مطابق ڈھالنا ضروری ہے-مثال کے طور پر، متعدد طویل مدتی کوڈ برانچوں کو چلانا ناقابل عمل ثابت ہو سکتا ہے، کیونکہ اگر اسے پائپ لائن کے تمام مراحل سے گزرنا ہے تو ایک واحد کوڈ برانچ سے سی ڈی کے عمل میں جلد ہی ایک قابل رسائی نمونے کو بنانا ضروری ہے۔ تعیناتی پائپ لائن کے ذریعے مسلسل ترسیل کو فعال کیا جاتا ہے۔ تعیناتی پائپ لائن کے مقصد کے تین اجزاء ہیں: مرئیت، فیڈ بیک، اور مسلسل تعیناتی۔ مرئیت-تعاون کو فروغ دینے کے لیے ٹیم کے ہر رکن کو ڈیلیوری سسٹم کے تمام پہلو بشمول بلڈنگ، تعیناتی، ٹیسٹنگ اور ریلیز نظر آتے ہیں۔ فیڈ بیک-ٹیم کے ممبران مسائل کے ہونے پر جلد از جلد ان کے بارے میں سیکھتے ہیں تاکہ وہ انہیں جلد از جلد ٹھیک کر سکیں۔ مسلسل تعیناتی-مکمل طور پر خودکار عمل کے ذریعے، آپ سافٹ ویئر کے کسی بھی ورژن کو کسی بھی ماحول میں تعینات اور جاری کر سکتے ہیں۔ ٹولز/ٹولز کی اقسام مسلسل ترسیل پیداوار کے ذریعے ماخذ کنٹرول سے آٹومیشن لیتا ہے۔ مختلف ٹولز ہیں جو اس عمل کے تمام یا کچھ حصے کو پورا کرنے میں مدد کرتے ہیں۔ یہ اوزار تعیناتی پائپ لائن کا حصہ ہیں جس میں مسلسل ترسیل شامل ہے۔ عمل کے مختلف حصوں کو انجام دینے والے ٹولز کی اقسام میں شامل ہیں: مسلسل انضمام، ایپلیکیشن ریلیز آٹومیشن، بلڈ آٹومیشن، ایپلیکیشن لائف سائیکل مینجمنٹ۔ مسلسل ترسیل کے لیے آرکیٹیکٹنگ مؤثر طریقے سے مسلسل ترسیل کی مشق کرنے کے لیے، سافٹ ویئر ایپلی کیشنز کو آرکیٹیکچرل لحاظ سے اہم ضروریات (اے ایس آر) جیسے تعیناتی، تبدیلی، اور جانچ کی اہلیت کے ایک سیٹ کو پورا کرنا ہوتا ہے۔ ان اے ایس آر کو اعلی ترجیح کی ضرورت ہوتی ہے اور ان کا ہلکے سے تبادلہ نہیں کیا جا سکتا۔ مائیکرو سروسز کا استعمال اکثر مسلسل ترسیل کے لیے آرکیٹیکٹنگ کرتے وقت کیا جاتا ہے۔ مائیکرو سروسز کا استعمال سافٹ ویئر سسٹم کی تعیناتی اور تبدیلی کو بڑھا سکتا ہے۔ مشاہدہ شدہ تعیناتی کی بہتریوں میں شامل ہیں: تعیناتی کی آزادی، کم تعیناتی کا وقت، تعیناتی کے آسان طریقہ کار، اور صفر ڈاؤن ٹائم تعیناتی۔ مشاہدہ شدہ تغیر پذیری میں بہتریوں میں شامل ہیں: چھوٹی اضافی فعال تبدیلیوں کے لیے کم سائیکل کا وقت، آسان ٹیکنالوجی کے انتخاب میں تبدیلیاں، اضافی معیار کی صفات میں تبدیلیاں، اور آسان زبان اور لائبریری اپ گریڈ۔ نفاذ اور استعمال جیز ہمبل اور ڈیوڈ فارلی (2010) کی لکھی ہوئی اصل سی ڈی کتاب نے اس اصطلاح کو مقبول بنایا ؛ تاہم، اس کی تخلیق کے بعد سے تعریف آگے بڑھتی رہی ہے اور اب اس کا معنی زیادہ ترقی یافتہ ہے۔ آج کمپنیاں ان مسلسل ترسیل کے اصولوں اور بہترین طریقوں کو نافذ کر رہی ہیں۔ ڈومینز میں فرق، جیسے۔ میڈیکل بمقابلہ ویب، اب بھی اہم ہے اور نفاذ اور استعمال کو متاثر کرتا ہے۔ یہ نقطہ نظر رکھنے والی معروف کمپنیوں میں یاہو!، ایمیزون، فیس بک، گوگل، پیڈی پاور اور ویلز فارگو شامل ہیں۔ فوائد اور رکاوٹیں مسلسل ترسیل کے کئی فوائد رپورٹ کیے گئے ہیں۔ مارکیٹ میں تیز رفتار وقت: مسلسل ترسیل کسی تنظیم کو نئے سافٹ ویئر ریلیز میں موجود کاروباری قدر کو صارفین تک زیادہ تیزی سے پہنچانے کی سہولت دیتی ہے۔ یہ صلاحیت کمپنی کو مقابلے سے ایک قدم آگے رہنے میں مدد کرتی ہے۔ صحیح پروڈکٹ کی تعمیر: بار بار ریلیز ایپلیکیشن ڈویلپمنٹ ٹیموں کو صارف کی رائے زیادہ تیزی سے حاصل کرنے دیتی ہے۔ یہ انہیں صرف مفید خصوصیات پر کام کرنے دیتا ہے۔ اگر انہیں معلوم ہوتا ہے کہ کوئی فیچر کارآمد نہیں ہے، تو وہ اس پر مزید کوشش نہیں کرتے۔ اس سے انہیں صحیح پروڈکٹ بنانے میں مدد ملتی ہے۔ بہتر پیداوری اور کارکردگی: ڈویلپرز، ٹیسٹرز، آپریشن انجینئرز وغیرہ کے لیے وقت کی نمایاں بچت۔ آٹومیشن کے ذریعے۔ قابل اعتماد ریلیز: ریلیز سے وابستہ خطرات میں نمایاں کمی واقع ہوئی ہے، اور ریلیز کا عمل زیادہ قابل اعتماد ہو گیا ہے۔ مسلسل ترسیل کے ساتھ، پیداوار میں تعیناتی سے پہلے تعیناتی کے عمل اور اسکرپٹ کی بار بار جانچ کی جاتی ہے۔ لہذا، تعیناتی کے عمل اور اسکرپٹ میں زیادہ تر غلطیاں پہلے ہی دریافت ہو چکی ہیں۔ زیادہ بار بار ریلیز کے ساتھ، ہر ریلیز میں کوڈ کی تبدیلیوں کی تعداد کم ہو جاتی ہے۔ اس سے کسی بھی مسئلے کو تلاش کرنا اور ٹھیک کرنا آسان ہو جاتا ہے، جس سے ان کا اثر پڑنے کا وقت کم ہو جاتا ہے۔ مصنوعات کے معیار میں بہتری: کھلی کیڑوں اور پیداوار کے واقعات کی تعداد میں نمایاں کمی واقع ہوئی ہے۔ بہتر گاہکوں کی اطمینان: گاہکوں کی اطمینان کی ایک اعلی سطح حاصل کی جاتی ہے۔ رکاوٹوں کی بھی تحقیقات کی گئی ہیں۔ صارفین کی ترجیحات: کچھ گاہک اپنے سسٹم میں مسلسل اپ ڈیٹس نہیں چاہتے ہیں۔ یہ خاص طور پر ان کی کارروائیوں کے اہم مراحل میں درست ہے۔ ڈومین پابندیاں: کچھ ڈومینز میں، جیسے ٹیلی کام اور میڈیکل، قواعد و ضوابط میں نئے ورژن کو آپریشن کے مرحلے میں داخل ہونے کی اجازت دینے سے پہلے وسیع پیمانے پر جانچ کی ضرورت ہوتی ہے۔ ٹیسٹ آٹومیشن کی کمی: ٹیسٹ آٹومیشن کی کمی ڈویلپر کے اعتماد کی کمی کا باعث بنتی ہے اور مسلسل ترسیل کے استعمال کو روک سکتی ہے۔ ماحول میں فرق: ترقی، جانچ اور پیداوار میں استعمال ہونے والے مختلف ماحول کے نتیجے میں نامعلوم مسائل پیداوار کے ماحول میں پھسل سکتے ہیں۔ انسانی اوریکل کی ضرورت والے ٹیسٹ: تمام معیار کی صفات کی تصدیق آٹومیشن سے نہیں کی جا سکتی۔ ان صفات کے لیے لوپ میں انسانوں کی ضرورت ہوتی ہے، جو ڈیلیوری پائپ لائن کو سست کرتی ہے۔ اپنانے کے مزید آٹھ چیلنجز چن نے اٹھائے اور ان کی وضاحت کی۔ یہ چیلنجز تنظیمی ڈھانچے، عمل، ٹولز، انفراسٹرکچر، میراث کے نظام، مسلسل ترسیل کے لیے آرکیٹیکٹنگ، غیر فعال ضروریات کی مسلسل جانچ، اور ٹیسٹ پر عمل درآمد کو بہتر بنانے کے شعبوں میں ہیں۔ اپنانے کے چیلنجوں پر قابو پانے کی حکمت عملی مسلسل ترسیل اپنانے کے چیلنجوں پر قابو پانے کے لیے متعدد حکمت عملیوں کی اطلاع دی گئی ہے۔ ڈیو اوپس کے ساتھ تعلق ایک سافٹ ویئر انجینئرنگ کا نقطہ نظر ہے جو ثقافتی تبدیلی کے ارد گرد مرکوز ہے، خاص طور پر سافٹ ویئر کی فراہمی میں شامل مختلف ٹیموں کا تعاون (ڈویلپرز، آپریشنز، کوالٹی اشورینس، مینجمنٹ وغیرہ)۔ )، نیز سافٹ ویئر کی فراہمی میں عمل کو خودکار بنانا۔ مسلسل تعیناتی سے تعلق سافٹ ویئر انجینئرنگ کا ایک نقطہ نظر ہے جو خودکار سافٹ ویئر کی تعیناتی کا استعمال کرتا ہے۔ اس میں، سافٹ ویئر مختصر چکروں میں تیار کیا جاتا ہے لیکن خودکار سافٹ ویئر کی تعیناتی کے ذریعے اس آخری مرحلے کے لیے "بٹن کے کلک" کی ضرورت کے بجائے پیداوار تک بھی۔ لہذا، مسلسل تعیناتی کو آٹومیشن کی ایک زیادہ نفیس شکل سمجھا جا سکتا ہے۔ تعلیمی ادب تعیناتی کے طریقہ کار کے مطابق مسلسل ترسیل اور مسلسل تعیناتی کے درمیان فرق کرتا ہے ؛ دستی بمقابلہ خودکار۔ ایپلیکیشن لائف سائیکل مینجمنٹ ایپلیکیشن ریلیز آٹومیشن بلڈ مینجمنٹ چینج مینجمنٹ سی آئی/سی ڈی مسلسل کنفیگریشن آٹومیشن مسلسل ترسیل کے طریقے مسلسل انضمام مسلسل جانچ ڈیو اوپس ریلیز مینجمنٹ سافٹ ویئر کنفیگریشن مینجمنٹ ورژن ون اوپس مزید پڑھنا حوالہ جات سافٹ ویئر ریلیز سافٹ ویئر ڈیزائن سافٹ ویئر ڈویلپمنٹ عمل