مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

مسلسل تعیناتی (CD) سافٹ ویئر کی ترقی میں ایک مخصوص نقطہ نظر ہے جو سافٹ ویئر میں مختلف خصوصیات کو تیزی سے، محفوظ طریقے سے اور مؤثر طریقے سے نافذ کرنے کے لیے استعمال کیا جاتا ہے۔

بنیادی خیال یہ ہے کہ ایک قابل اعتماد، خودکار عمل تخلیق کیا جائے جو ڈویلپر کو فوری طور پر صارف کو تیار شدہ پروڈکٹ فراہم کرنے کی اجازت دیتا ہے۔ اس عمل میں پیداوار میں مسلسل تبدیلیاں شامل ہوتی ہیں- اسے مسلسل ترسیل پائپ لائن (CD پائپ لائن) کہا جاتا ہے۔

Skillbox تجویز کرتا ہے: پریکٹیکل کورس "موبائل ڈویلپر پی آر او".

ہم آپ کو یاد دلاتے ہیں: "Habr" کے تمام قارئین کے لیے - "Habr" پروموشنل کوڈ کا استعمال کرتے ہوئے کسی بھی Skillbox کورس میں داخلہ لینے پر 10 rubles کی رعایت۔

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

ٹولز کی ایک وسیع رینج، دونوں ادا شدہ اور مکمل طور پر مفت، بہاؤ کے انتظام کے لیے استعمال کیے جا سکتے ہیں۔ یہ مضمون ڈویلپرز کے درمیان مقبول ترین حل میں سے تین کی وضاحت کرتا ہے، جو کسی بھی پروگرامر کے لیے کارآمد ہو سکتا ہے۔

جینکنز

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

پی سی کی کم از کم ضروریات:

  • 256 MB RAM، 1 GB فائل کی جگہ۔

بہترین:

  • 1 جی بی ریم، 50 جی بی ہارڈ ڈرائیو کی جگہ۔

کام کرنے کے لیے، آپ کو اضافی سافٹ ویئر کی بھی ضرورت ہوگی - Java Runtime Environment (JRE) ورژن 8۔

فن تعمیر (تقسیم کمپیوٹنگ) اس طرح لگتا ہے:
مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

جینکنز سرور GUI ہوسٹنگ کے ساتھ ساتھ پوری تعمیر کو ترتیب دینے اور اس پر عمل درآمد کے لیے ذمہ دار تنصیب ہے۔

جینکنز نوڈ/سلیو/بلڈ سرور ایسے آلات ہیں جنہیں ماسٹر کی جانب سے تعمیراتی کام چلانے کے لیے ترتیب دیا جا سکتا ہے۔

کے لیے تنصیب Linux

سب سے پہلے، آپ کو اپنے سسٹم میں جینکنز ریپوزٹری کو شامل کرنے کی ضرورت ہے:

cd /tmp && wget -q -O — pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo 'deb pkg.jenkins.io/debian-مستحکم بائنری/' | sudo tee -a /etc/apt/sources.list.d/je

پیکیج ریپوزٹری کو اپ ڈیٹ کریں:

سڈوکو اپ ڈیٹ

جینکنز انسٹال کریں:

sudo apt جینکنز انسٹال کریں۔

اس کے بعد جینکنز ڈیفالٹ پورٹ 8080 کے ذریعے سسٹم پر دستیاب ہوں گے۔

فعالیت کو چیک کرنے کے لیے، آپ کو اپنے براؤزر میں پتہ کھولنا ہوگا۔ localhost:8080 اس کے بعد سسٹم آپ کو ابتدائی روٹ صارف پاس ورڈ درج کرنے کا اشارہ کرے گا۔ یہ پاس ورڈ فائل میں موجود ہے /var/lib/jenkins/secrets/initialAdminPassword۔

اب سب کچھ جانے کے لیے تیار ہے، اور آپ CI/CD پائپ لائنز بنانا شروع کر سکتے ہیں۔ ورک اسپیس گرافیکل انٹرفیس اس طرح لگتا ہے:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

جینکنز کی طاقتیں:

  • ماسٹر/غلام فن تعمیر کی طرف سے فراہم کردہ توسیع پذیری؛
  • REST XML/JSON API کی دستیابی؛
  • پلگ انز کی بدولت بڑی تعداد میں ایکسٹینشنز کو جوڑنے کی صلاحیت؛
  • ایک فعال اور مسلسل ترقی پذیر کمیونٹی۔

Cons:

  • کوئی تجزیاتی بلاک نہیں ہے؛
  • بہت صارف دوست انٹرفیس نہیں ہے۔

ٹیمٹیئٹی

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

جاوا رن ٹائم انوائرمنٹ (JRE) ورژن 8 کی ضرورت ہے۔

سرور ہارڈویئر کی ضروریات اہم نہیں ہیں:

  • رام - 3,2 جی بی؛
  • پروسیسر - ڈبل کور، 3,2 گیگا ہرٹز؛
  • 1 Gb/s کے تھرو پٹ کے ساتھ مواصلاتی چینل۔

سرور آپ کو کام میں اعلی کارکردگی حاصل کرنے کی اجازت دیتا ہے:

  • 300 اسمبلی کنفیگریشن کے ساتھ 60 پروجیکٹ؛
  • تعمیر لاگ کے لیے 2 MB مختص؛
  • 50 اسمبلی ایجنٹس؛
  • ویب ورژن میں 50 صارفین اور IDE میں 30 صارفین کے ساتھ کام کرنے کی صلاحیت؛
  • 100 بیرونی VCS کنکشنز، عام طور پر پرفورس اور سبورژن۔ تبدیلی کا اوسط وقت 120 سیکنڈ ہے؛
  • فی دن 150 سے زیادہ ترامیم؛
  • ایک سرور پر ڈیٹا بیس کے ساتھ کام کرنا؛
  • JVM سرور کے عمل کی ترتیبات: -Xmx1100m -XX:MaxPermSize=120m۔

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

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

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

کے لیے تنصیب Linux

Tomcat servlet کنٹینر کے ساتھ TeamCity کو دستی طور پر انسٹال کرنے کے لیے، TeamCity آرکائیو استعمال کریں: TeamCity .tar.gz۔ ڈاؤن لوڈ کریں۔ آپ اسے یہاں سے حاصل کر سکتے ہیں۔.

tar -xfz TeamCity.tar.gz

/bin /runAll.sh [start| stop]

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

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

ڈیفالٹ کنفیگریشن چلتی ہے۔ localhost:8111/ ایک ہی پی سی پر چلنے والے ایک رجسٹرڈ بلڈ ایجنٹ کے ساتھ۔

TeamCity کی طاقتیں:

  • آسان سیٹ اپ؛
  • صارف دوستانہ انٹرفیس؛
  • بلٹ میں افعال کی ایک بڑی تعداد؛
  • سپورٹ سروس؛
  • ایک آرام دہ API ہے؛
  • خراب دستاویزات نہیں؛
  • اچھا تحفظ.

Cons:

  • محدود انضمام؛
  • یہ ایک ادا شدہ ٹول ہے؛
  • ایک چھوٹی سی برادری (جو، تاہم، بڑھ رہی ہے)۔

GoCD

ایک اوپن سورس پروجیکٹ جس کو انسٹال کرنے اور چلانے کے لیے Java Runtime Environment (JRE) ورژن 8 کی ضرورت ہوتی ہے۔

سسٹم کی ضروریات:

  • RAM - 1 GB کم از کم، زیادہ بہتر ہے؛
  • پروسیسر - ڈوئل کور، 2 گیگا ہرٹز کی کور فریکوئنسی کے ساتھ؛
  • ہارڈ ڈرائیو - کم از کم 1 جی بی خالی جگہ۔

ایجنٹ:

  • RAM - کم از کم 128 MB، بہتر زیادہ؛
  • پروسیسر - کم از کم 2 گیگا ہرٹز۔

سرور ایجنٹوں کے کام کو یقینی بناتا ہے اور صارف دوست انٹرفیس فراہم کرتا ہے:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

مراحل/ ملازمتیں/ کام:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

کے لیے تنصیب Linux

echo "deb download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list

curl کے download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key شامل کریں -
add-apt-repository ppa:openjdk-r/ppa

اپ ڈیٹ حاصل کریں

apt-get install -y openjdk-8-jre

apt-get install go-server

apt-get install go-agent

/etc/init.d/go-server [start|stop|status|restart]

/etc/init.d/go-agent [start|stop|status|restart]

پہلے سے طے شدہ طور پر، GoCd کام کرتا ہے۔ localhost: 8153.

GoCd کی طاقتیں:

  • آزاد مصدر؛
  • سادہ تنصیب اور ترتیب؛
  • اچھی دستاویزات؛

  • بہترین صارف انٹرفیس:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

  • ایک ہی منظر میں قدم بہ قدم GoCD تعیناتی کے راستے کو ظاہر کرنے کی صلاحیت:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

  • کنویئر ڈھانچے کا بہترین ڈسپلے:

مسلسل تعیناتی کو منظم کرنے کے لیے 3 مقبول ٹولز (مسلسل تعیناتی)

  • GoCD سب سے زیادہ مقبول کلاؤڈ ماحول میں CD ورک فلو کو بہتر بناتا ہے، بشمول Docker، AWS؛
  • یہ ٹول آپ کو ریئل ٹائم میں کمٹمنٹ سے لے کر تعیناتی تک ہر تبدیلی کو ٹریک کرکے پائپ لائن میں مسائل کو حل کرنے کی اجازت دیتا ہے۔

Cons:

  • کم از کم ایک ایجنٹ کی ضرورت ہے؛
  • تمام مکمل کاموں کو ظاہر کرنے کے لیے کوئی کنسول نہیں ہے۔
  • ہر کمانڈ پر عمل کرنے کے لیے، آپ کو پائپ لائن کنفیگریشن کے لیے ایک کام بنانے کی ضرورت ہے۔
  • پلگ ان انسٹال کرنے کے لیے آپ کو .jar فائل کو منتقل کرنے کی ضرورت ہے۔ /plugins/external اور سرور کو دوبارہ شروع کریں؛
  • ایک نسبتا چھوٹی کمیونٹی.

ایک نتیجہ کے طور پر

یہ صرف تین ٹولز ہیں، لیکن اور بھی بہت ہیں۔ انتخاب کرنا مشکل ہے، اس لیے اضافی پہلوؤں پر غور کرنا ضروری ہے۔

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

اگر سیکیورٹی سب سے اہم ہے، تو یہ آن پریمیسس ٹول استعمال کرنے کے قابل ہے۔ اگر نہیں تو، SaaS حل ایک اچھا آپشن ہے۔

آخر میں، صحیح معنوں میں مؤثر مسلسل تعیناتی کے عمل کو یقینی بنانے کے لیے، ایسے معیارات کو وضع کرنا ضروری ہے جس کی خصوصیت ہمیں دستیاب ٹولز کی حد کو کم کرنے کی اجازت دے گی۔

Skillbox تجویز کرتا ہے:

ماخذ: www.habr.com

DDoS تحفظ، VPS VDS سرورز والی سائٹوں کے لیے قابل اعتماد ہوسٹنگ خریدیں۔ DDoS تحفظ، VPS VDS سرورز کے ساتھ قابل اعتماد ویب سائٹ ہوسٹنگ خریدیں۔ ProHoster