حوالہ: مسلسل انضمام کا عمل کیسے کام کرتا ہے۔

آج ہم اس اصطلاح کی تاریخ دیکھیں گے، CI کو لاگو کرنے کی مشکلات پر بات کریں گے، اور کئی مشہور ٹولز فراہم کریں گے جو اس کے ساتھ کام کرنے میں آپ کی مدد کریں گے۔

حوالہ: مسلسل انضمام کا عمل کیسے کام کرتا ہے۔
/flickr/ الٹگ کاراکوک / CC BY / تصویر میں ترمیم کی گئی۔

ٹرم

مسلسل انضمام ایپلی کیشن ڈویلپمنٹ کا ایک نقطہ نظر ہے جس میں بار بار پروجیکٹ کی تعمیر اور کوڈ ٹیسٹنگ شامل ہوتی ہے۔

مقصد یہ ہے کہ انضمام کے عمل کو پیشین گوئی کے قابل بنایا جائے اور ابتدائی مرحلے میں ممکنہ کیڑوں اور غلطیوں کا پتہ لگانا ہے، تاکہ انہیں ٹھیک کرنے کے لیے مزید وقت مل سکے۔

Continuous Integration کی اصطلاح پہلی بار 1991 میں ظاہر ہوئی۔ اسے UML زبان کے خالق نے متعارف کرایا تھا۔ گریڈی بوچ (گریڈی بوچ)۔ انجینئر نے CI کے تصور کو اپنے ترقیاتی عمل کے حصے کے طور پر متعارف کرایا۔ بوچ کا طریقہ. اس نے آبجیکٹ پر مبنی نظاموں کو ڈیزائن کرتے وقت فن تعمیر کی بڑھتی ہوئی تطہیر کا اشارہ کیا۔ گریڈی نے مسلسل انضمام کے لیے کسی تقاضے کی وضاحت نہیں کی۔ لیکن بعد میں اپنی کتاب میں "آبجیکٹ پر مبنی تجزیہ اور ایپلی کیشنز کے ساتھ ڈیزائن"انہوں نے کہا کہ طریقہ کار کا مقصد "اندرونی ریلیز" کی رہائی کو تیز کرنا ہے۔

کہانی

1996 میں، طریقہ کار کے تخلیق کاروں نے CI کو اپنایا انتہائی پروگرامنگ (XP) - کینٹ بیک (کینٹ بیک) اور رون جیفریز (رون جیفریز)۔ مسلسل انضمام ان کے نقطہ نظر کے بارہ اہم اصولوں میں سے ایک بن گیا۔ XP کے بانیوں نے CI طریقہ کار کی ضروریات کو واضح کیا اور دن میں کئی بار پروجیکٹ بنانے کی ضرورت کو نوٹ کیا۔

2000 کی دہائی کے اوائل میں، ایگیل الائنس کے بانیوں میں سے ایک نے مسلسل انضمام کے طریقہ کار کو فروغ دینا شروع کیا۔ مارٹن فولر (مارٹن فولر)۔ CI کے ساتھ اس کے تجربات اس علاقے میں پہلے سافٹ ویئر ٹول - CruiseControl کی طرف لے گئے۔ یہ افادیت مارٹن کے ساتھی میتھیو فومیل نے بنائی تھی۔

ٹول میں بلڈ سائیکل کو ڈیمون کے طور پر لاگو کیا جاتا ہے جو کوڈ بیس میں ہونے والی تبدیلیوں کے لیے وقتاً فوقتاً ورژن کنٹرول سسٹم کو چیک کرتا ہے۔ حل آج ڈاؤن لوڈ کیا جا سکتا ہے - یہ نے بانٹا BSD جیسے لائسنس کے تحت۔

CI کے لیے سافٹ ویئر کی آمد کے ساتھ، زیادہ سے زیادہ کمپنیوں نے اس عمل کو اپنانا شروع کیا۔ فارسٹر ریسرچ کے مطابق [صفحہ 5 رپورٹ]، 2009 میں، پچاس ٹیکنالوجی کمپنیوں میں سے 86% نے CI طریقوں کا استعمال کیا یا لاگو کیا۔

آج، مسلسل انضمام کی مشق صنعتوں کی وسیع اقسام کی تنظیموں کے ذریعہ استعمال کی جاتی ہے۔ 2018 میں، ایک بڑے کلاؤڈ فراہم کنندہ نے خدمات، تعلیم اور مالیاتی شعبوں میں کمپنیوں کے آئی ٹی ماہرین کے درمیان ایک سروے کیا۔ چھ ہزار جواب دہندگان میں سے، 58٪ نے کہا کہ وہ اپنے کام میں CI ٹولز اور اصولوں کا استعمال کرتے ہیں۔

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

مسلسل انضمام دو ٹولز پر مبنی ہے: ایک ورژن کنٹرول سسٹم اور ایک CI سرور۔ مؤخر الذکر یا تو ایک جسمانی ڈیوائس یا بادل کے ماحول میں ایک ورچوئل مشین ہوسکتی ہے۔ ڈویلپرز دن میں ایک یا زیادہ بار نیا کوڈ اپ لوڈ کرتے ہیں۔ CI سرور خود بخود اسے تمام انحصار کے ساتھ کاپی کرتا ہے اور اسے بناتا ہے۔ اس کے بعد، یہ انضمام اور یونٹ ٹیسٹ چلاتا ہے۔ اگر ٹیسٹ کامیابی سے پاس ہو جاتے ہیں، تو CI سسٹم کوڈ کو تعینات کرتا ہے۔

عام عمل کے خاکے کو اس طرح پیش کیا جا سکتا ہے:

حوالہ: مسلسل انضمام کا عمل کیسے کام کرتا ہے۔

CI طریقہ کار ڈویلپرز کے لیے متعدد تقاضے کرتا ہے:

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

عمل درآمد کی مشکلات

پہلا مسئلہ زیادہ آپریٹنگ اخراجات ہے۔ یہاں تک کہ اگر کوئی کمپنی اوپن سی آئی ٹولز استعمال کرتی ہے (جس کے بارے میں ہم بعد میں بات کریں گے)، اسے پھر بھی انفراسٹرکچر سپورٹ پر پیسہ خرچ کرنا پڑے گا۔ تاہم، کلاؤڈ ٹیکنالوجیز حل ہوسکتی ہیں۔

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

سروے کے مطابق [صفحہ 14 مضامین]، مسلسل انضمام کمپنی کے ملازمین پر بوجھ بڑھاتا ہے (کم از کم پہلے)۔ انہیں نئے اوزار سیکھنے ہوں گے، اور ساتھی ہمیشہ تربیت میں مدد نہیں کرتے ہیں۔ لہذا، آپ کو چلتے پھرتے نئے فریم ورک اور خدمات سے نمٹنا ہوگا۔

تیسری مشکل آٹومیشن کے ساتھ مسائل ہیں۔ لیگیسی کوڈ کی ایک بڑی مقدار والی تنظیمیں جو خودکار ٹیسٹوں میں شامل نہیں ہیں اس مسئلے کا سامنا کرتی ہیں۔ یہ اس حقیقت کی طرف جاتا ہے کہ کوڈ کو CI کے مکمل نفاذ سے پہلے صرف دوبارہ لکھا جاتا ہے۔

حوالہ: مسلسل انضمام کا عمل کیسے کام کرتا ہے۔
/flickr/ وہ / CC BY-SA

کون استعمال کرتا ہے۔

آئی ٹی کمپنیاں پہلے لوگوں میں شامل تھیں جنہوں نے طریقہ کار کے فوائد کی تعریف کی۔ گوگل استعمال کرتا ہے 2000 کی دہائی کے وسط سے مسلسل انضمام۔ CI کو سرچ انجن میں تاخیر کے مسئلے کو حل کرنے کے لیے لاگو کیا گیا تھا۔ مسلسل انضمام سے مسائل کا فوری پتہ لگانے اور حل کرنے میں مدد ملی۔ اب CI کو IT وشال کے تمام محکمے استعمال کرتے ہیں۔

مسلسل انضمام سے چھوٹی کمپنیوں کو بھی مدد ملتی ہے، اور CI ٹولز مالیاتی اور صحت کی دیکھ بھال کرنے والی تنظیموں کے ذریعے بھی استعمال کیے جاتے ہیں۔ مثال کے طور پر، Morningstar میں، مسلسل انضمام کی خدمات نے کمزوریوں کو 70% تیزی سے ٹھیک کرنے میں مدد کی۔ اور فلپس ہیلتھ کیئر میڈیکل پلیٹ فارم اپ ڈیٹس کی جانچ کی رفتار کو دوگنا کرنے کے قابل تھا۔

فورم کے اوزار

CI کے لیے کچھ مشہور ٹولز یہ ہیں:

  • جینکنز سب سے زیادہ مقبول CI نظاموں میں سے ایک ہے۔ یہ مختلف VCS، کلاؤڈ پلیٹ فارمز اور دیگر خدمات کے ساتھ انضمام کے لیے ایک ہزار سے زیادہ پلگ ان کو سپورٹ کرتا ہے۔ ہم جینکنز کو 1 کلاؤڈ: ٹول پر بھی استعمال کرتے ہیں۔ ہمارے DevOps سسٹم میں شامل ہے۔. وہ باقاعدگی سے Git برانچ کو چیک کرتا ہے جس کا مقصد جانچ کرنا ہے۔
  • بلڈ بوٹ - آپ کے اپنے مسلسل انضمام کے عمل کو لکھنے کے لیے ایک ازگر کا فریم ورک۔ ٹول کا ابتدائی سیٹ اپ کافی پیچیدہ ہے، لیکن اس کی تلافی وسیع حسب ضرورت آپشنز سے ہوتی ہے۔ فریم ورک کے فوائد میں، صارفین اس کی کم وسائل کی شدت کو نمایاں کرتے ہیں۔
  • رابطہ سی آئی Pivotal کا ایک سرور ہے جو Docker کنٹینرز استعمال کرتا ہے۔ Concourse CI کسی بھی ٹولز اور ورژن کنٹرول سسٹم کے ساتھ ضم ہوتا ہے۔ ڈویلپرز نوٹ کرتے ہیں کہ یہ نظام کسی بھی سائز کی کمپنیوں میں کام کے لیے موزوں ہے۔
  • Gitlab CI GitLab ورژن کنٹرول سسٹم میں بنایا گیا ایک ٹول ہے۔ سروس کلاؤڈ میں چلتی ہے اور ترتیب کے لیے YAML فائلوں کا استعمال کرتی ہے۔ Concourse کی طرح، Gitlab CI لاگو ہوتا ہے ڈوکر کنٹینرز جو مختلف عملوں کو ایک دوسرے سے الگ کرنے میں مدد کرتے ہیں۔
  • کوڈشپ ایک کلاؤڈ CI سرور ہے جو GitHub، GitLab اور BitBucket کے ساتھ کام کرتا ہے۔ پلیٹ فارم کو طویل ابتدائی سیٹ اپ کی ضرورت نہیں ہے - معیاری پہلے سے نصب شدہ CI عمل کوڈ شپ میں دستیاب ہیں۔ چھوٹے (فی مہینہ 100 تک تعمیرات) اور اوپن سورس پروجیکٹس کے لیے، Codeship مفت میں دستیاب ہے۔

ہمارے کارپوریٹ بلاگ سے مواد:

ماخذ: www.habr.com

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