مدد: مسلسل ترسیل کیا ہے؟

پہلے ہم بتایا مسلسل انضمام (CI) کے بارے میں۔ آئیے مسلسل ترسیل کے ساتھ جاری رکھیں۔ یہ سافٹ ویئر کی ترقی کے طریقوں کا ایک مجموعہ ہے۔ یہ یقینی بنانے میں مدد کرتا ہے کہ آپ کا کوڈ تعیناتی کے لیے تیار ہے۔

مدد: مسلسل ترسیل کیا ہے؟
/Pixabay/ bluebudgie / PL

کہانی

جملہ مسلسل ترسیل کو واپس دیکھا جا سکتا ہے۔ فرتیلی منشور بنیادی اصولوں کی فہرست کے آغاز میں 2001 سے: "ترجیح جدید ترین سافٹ ویئر کی مسلسل فراہمی کے ذریعے صارفین کے مسائل کو حل کرنا ہے۔"

2010 میں جیز ہمبل اور ڈیوڈ فارلی ریلیز ہوئے۔ ایک کتاب مسلسل ترسیل کی طرف سے. مصنفین کے مطابق، سی ڈی نقطہ نظر کی تکمیل کرتی ہے۔ مسلسل انضمام اور آپ کو تعیناتی کے لیے کوڈ کی تیاری کو آسان بنانے کی اجازت دیتا ہے۔

کتاب کی اشاعت کے بعد اس نقطہ نظر کو مقبولیت حاصل ہونے لگی اور صرف چند سالوں میں یہ تقریباً عالمی سطح پر قبول ہو گئی۔ کے مطابق سروے600 میں 2014 سے زیادہ ڈویلپرز اور IT مینیجرز کے درمیان منعقد کیا گیا، 97% تکنیکی مینیجرز اور 84% پروگرامرز مسلسل ڈیلیوری سے واقف تھے۔

اب یہ نقطہ نظر سب سے زیادہ مقبول میں سے ایک ہے. 2018 کے ایک مطالعہ کے مطابق جس میں آئی ٹی کمیونٹی ڈی او اوپس اور جینکنز کمیونٹی شامل ہے، یہ استعمال کرتا ہے سروے میں ایک ہزار سے زیادہ جواب دہندگان میں سے نصف۔

مسلسل ترسیل کیسے کام کرتی ہے؟

سی ڈی کی بنیاد تعیناتی کے لیے کوڈ کی تیاری ہے۔ اس کام کو پورا کرنے کے لیے، ریلیز کے لیے سافٹ ویئر کی تیاری کے عمل کی آٹومیشن کا استعمال کیا جاتا ہے۔ یہ مختلف ترقیاتی ماحول میں معیاری ہونا چاہیے، جس سے کمزور پوائنٹس کو تیزی سے تلاش کرنے اور انہیں بہتر بنانے میں مدد ملے گی۔ مثال کے طور پر، ٹیسٹنگ کو تیز کریں۔

مسلسل ترسیل کے عمل کی ایک مثال اس طرح نظر آتی ہے:

مدد: مسلسل ترسیل کیا ہے؟

اگر کنٹینیوئس انٹیگریشن اپروچ پہلے دو مرحلوں کو خودکار کرنے کے لیے ذمہ دار ہے، تو مسلسل ڈیلیوری اگلے دو کے لیے ذمہ دار ہے۔ نظاموں کے ذریعے دیگر چیزوں کے علاوہ عمل کے استحکام کو یقینی بنایا جاتا ہے۔ ترتیب کا انتظام. وہ بنیادی ڈھانچے، ڈیٹا بیس اور انحصار میں تبدیلیوں کی نگرانی کرتے ہیں۔ تعیناتی خود کار طریقے سے یا دستی طور پر کی جا سکتی ہے۔

اس عمل پر درج ذیل تقاضے عائد کیے گئے ہیں:

  • پیداواری ماحول میں داخل ہونے کی تیاری اور فوری ریلیز کی تیاری کے بارے میں معلومات کی دستیابی (سی ڈی ٹولز کوڈ کی جانچ کرتے ہیں اور ریلیز میں ہونے والی تبدیلیوں کے اثر کا اندازہ لگانا ممکن بناتے ہیں)۔
  • حتمی مصنوعات کی مجموعی ذمہ داری۔ پروڈکٹ ٹیم - مینیجرز، ڈویلپرز، ٹیسٹرز - نتیجہ کے بارے میں سوچتے ہیں، نہ کہ صرف اپنی ذمہ داری کے علاقے کے بارے میں (نتیجہ ایک ورکنگ ریلیز ہے جو پروڈکٹ کے صارفین کے لیے دستیاب ہے)۔

سی ڈیز میں یہ عام طور پر استعمال ہوتا ہے۔ کوڈ کا جائزہ لیں، اور کسٹمر کی رائے جمع کرنے کے لئے - اصول سیاہ لانچنگ. ایک نئی خصوصیت سب سے پہلے صارفین کے ایک چھوٹے سے طبقے کے لیے جاری کی جاتی ہے - پروڈکٹ کے ساتھ بات چیت کا ان کا تجربہ ان خامیوں اور کیڑے تلاش کرنے میں مدد کرتا ہے جو اندرونی جانچ کے دوران محسوس نہیں کیے گئے تھے۔

کیا فائدہ ہے

مسلسل ڈیلیوری کوڈ کی تعیناتی کو آسان بنانے میں مدد کرتی ہے، جس کا پیداواری صلاحیت پر مثبت اثر پڑتا ہے اور ملازمین کے جلانے کے امکانات کم ہوتے ہیں۔ بالآخر، یہ مجموعی ترقیاتی اخراجات کو کم کرتا ہے۔ مثال کے طور پر، CD نے HP ٹیموں میں سے ایک کی مدد کی۔ کم کرنے کے لئے 40٪ کی طرف سے اس طرح کے اخراجات.

اس کے علاوہ، 2016 کے ایک مطالعہ کے مطابق (صفحہ 28 دستاویز) - وہ کمپنیاں جنہوں نے سی ڈی کو لاگو کیا ہے وہ انفارمیشن سیکیورٹی کے مسائل کو ان لوگوں کے مقابلے میں 50 فیصد تیزی سے حل کرتی ہیں جو اپروچ استعمال نہیں کرتے ہیں۔ کسی حد تک، اس فرق کی وضاحت عمل آٹومیشن ٹولز کی کارکردگی سے کی جا سکتی ہے۔

ایک اور پلس ریلیز کی تیز رفتار ہے. فینیش ڈویلپمنٹ اسٹوڈیو میں مسلسل ترسیل مدد کی کوڈ اسمبلی کی رفتار میں 25٪ اضافہ کریں۔

ممکنہ مشکلات

پہلا اور بنیادی مسئلہ واقف عمل کو دوبارہ بنانے کی ضرورت ہے۔ نئے اپروچ کے فوائد کو ظاہر کرنے کے لیے، یہ بتدریج CD پر سوئچ کرنے کے قابل ہے، یہ سب سے زیادہ محنت طلب ایپلی کیشنز سے شروع نہیں ہوتا۔

دوسرا ممکنہ مسئلہ کوڈ شاخوں کی بڑی تعداد ہے۔ "شاخ بندی" کا نتیجہ اکثر تنازعات اور زیادہ وقت کا مزید نقصان ہے۔ ممکنہ حل - نقطہ نظر کوئی شاخیں نہیں.

خاص طور پر، کچھ کمپنیوں میں جانچ کے ساتھ اہم مشکلات پیدا ہوتی ہیں - یہ بہت زیادہ وقت لگتا ہے. ٹیسٹ کے نتائج کا اکثر دستی طور پر تجزیہ کرنا پڑتا ہے، لیکن ایک ممکنہ حل یہ ہو سکتا ہے کہ سی ڈی کے نفاذ کے ابتدائی مراحل میں ٹیسٹوں کو متوازی بنایا جائے۔

آپ کو ملازمین کو نئے ٹولز کے ساتھ کام کرنے کی تربیت بھی دینی چاہیے - ایک ابتدائی تعلیمی پروگرام ڈویلپرز کی محنت اور وقت کی بچت کرے گا۔

مدد: مسلسل ترسیل کیا ہے؟
/flickr/ h.ger1969 / CC BY-SA

فورم کے اوزار

مسلسل ترسیل کے لیے چند کھلے ٹولز یہ ہیں:

  • GoCD - جاوا اور JRuby آن ریلز میں مسلسل ترسیل کے لیے سرور۔ آپ کو درخواست کی ترسیل کے پورے عمل کو کنٹرول کرنے کی اجازت دیتا ہے: بلڈ—ٹیسٹ—ریلیز۔ ٹول اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا ہے۔ آپ اسے سرکاری ویب سائٹ پر تلاش کرسکتے ہیں۔ سیٹ اپ گائیڈ.
  • کیپسٹرانو - اسکرپٹس بنانے کا ایک فریم ورک جو روبی، جاوا یا پی ایچ پی میں ایپلی کیشنز کی تعیناتی کو خودکار کرتا ہے۔ Capistrano ریموٹ مشین پر SSH کے ذریعے اس سے منسلک ہو کر کمانڈز پر عمل درآمد کرنے کے قابل ہے۔ دوسرے مسلسل انضمام اور ڈیلیوری ٹولز کے ساتھ کام کرتا ہے، جیسے انٹیگریٹی CI سرور۔
  • گریڈل ایک ملٹی پلیٹ فارم ٹول ہے جو پورے ایپلیکیشن ڈویلپمنٹ سائیکل کو خودکار کرتا ہے۔ Gradle Java, Python, C/C++، Scala وغیرہ کے ساتھ کام کرتا ہے۔ Eclipse، IntelliJ اور Jenkins کے ساتھ انٹیگریشن ہے۔
  • ڈرون - گو زبان میں سی ڈی پلیٹ فارم۔ ڈرون کو جگہ پر یا بادل میں تعینات کیا جا سکتا ہے۔ ٹول کنٹینرز کے اوپر بنایا گیا ہے اور ان کا نظم کرنے کے لیے YAML فائلوں کا استعمال کرتا ہے۔
  • اسپنیکر - ملٹی کلاؤڈ سسٹمز میں کوڈ کی مسلسل ترسیل کے لیے ایک پلیٹ فارم۔ Netflix کے تیار کردہ، گوگل کے انجینئرز نے اس ٹول کی ترقی میں بڑا کردار ادا کیا۔ انسٹالیشن کی ہدایات اسے سرکاری ویب سائٹ پر تلاش کریں۔.

ہمارے کارپوریٹ بلاگ پر کیا پڑھنا ہے:

ماخذ: www.habr.com

نیا تبصرہ شامل کریں