"مسلسل انضمام ڇا آهي؟"
اچو ته ڏسون وڪي اسان کي هن سوال بابت ڇا ٻڌائي ٿو : مسلسل انٽيگريشن (CI, English Continuous Integration) هڪ سافٽ ويئر ڊولپمينٽ مشق آهي جنهن ۾ ڪم ڪندڙ ڪاپين کي هڪ عام مکيه ڊولپمينٽ برانچ ۾ ضم ڪرڻ تي مشتمل هوندو آهي ڏينهن ۾ ڪيترائي ڀيرا ۽ پروجيڪٽ جي شروعاتي خودڪار تعميرات کي انجام ڏيڻ. انضمام جي مسئلن جي امڪاني خرابين ۽ حل جو پتو لڳائڻ. خوفناڪ، آهي نه؟ اچو ته هن اصطلاح کي آسان لفظن ۾ بيان ڪرڻ جي ڪوشش ڪريون: مسلسل انضمام هڪ سسٽم آهي جيڪو سافٽ ويئر جي تعمير ۽ خودڪار ٽيسٽنگ لاءِ مخصوص مشينن تي مخصوص ڪنفيگريشن سان گڏ ڪيڏيون ۽ غير مطابقتون معلوم ڪرڻ لاءِ. ٺيڪ، ڪو مسئلو ناهي، اسان ان کي ڪڍي ڇڏيو، پر هيٺ ڏنل منطقي سوال پيدا ٿئي ٿو:اسان کي CI جي ضرورت ڇو آهي؟
اچو ته صرف تصور ڪريو ته توهان هڪ وڏو منصوبو لکي رهيا آهيو، ۽ ڪارڪردگي کي شامل ڪرڻ/تبديل ڪرڻ جي ضرورت آهي. توھان ڪاميابيءَ سان ان کي لکو، ٽيسٽ لکو، ان کي لانچ ڪيو، ۽ سڀ ڪجھ ٺيڪ ٿي لڳي، پر نه. اهڙيون حالتون آهن جڏهن هڪ ڪارڪردگي ۾ تبديلي هڪ ٻئي تي اثر انداز ٿئي ٿي، ٻي ٽئين تي، ۽ ائين ئي، جيستائين ڪو بگ سلپ ٿئي ٿو ۽ هڪ غلطي ٿئي ٿي. ها، توهان اهو چئي سگهو ٿا ته اهو گهڻو ڪري هڪ ناقص ٺهيل منصوبو آهي، ۽ توهان شايد صحيح آهيو، پر جيڪڏهن اهو نه آهي، ۽ اهي ڪنيڪشن واقعي اتي هجڻ گهرجن؟ ۽ ڇا جيڪڏهن توهان لکي رهيا آهيو ۽ هڪ پروجيڪٽ ٺاهي رهيا آهيو هڪ کان وڌيڪ ڀيرا، جيڪو اڪثر صورت ۾ هوندو آهي؟ توھان پنھنجي نئين لکيل ڪارڪردگي تي ٽيسٽ ورتا، ۽ انھن ھڪڙو مثبت نتيجو ڏنو. توهان هڪ تڪڙو عزم ڪيو، پوءِ ڪنهن هنڌ ڌڪ هنيو ۽ اڳ ۾ ئي سوچي رهيا آهيو ته توهان گهر ۾ سگريٽ ڪيئن پيئندا جڏهن مهانگي ويسڪي پيئندا، پر نه. افسوس، توهان جو ساٿي، يا باس، ڪوئي به فرق نٿو پوي، اهو چوي ٿو ته توهان جي ڪم جي ڪري سڄي تعمير تباهه ٿي وئي. توهان حيرانگي سان چوندا آهيو ته توهان هڪ پروگرامر آهيو، توهان هر شيء کي آزمائي ڇڏيو آهي. پر اڪثر ڪري اتي ڪو به وقت نه هوندو آهي ته مسلسل پوري پروجيڪٽ کي جانچڻ لاءِ، ۽ توهان صرف پنهنجي ڪوڊ جو ٽڪرو آزمايو جنهن ۾ توهان تبديليون ڪيون، نه ته پوري اسيمبليءَ کي. هي آهي جتي CI اسان جي مدد لاء اچي ٿو. ڪنهن به وسيلن ڏانهن هر ڌڪ سان، سي آءِ توهان جي پروجيڪٽ کي شروع کان ٺاهيندو، سڀ ٽيسٽ هلائيندو، ۽ صرف ان صورت ۾ جڏهن سڀ ٽيسٽ پاس ٿي وڃن ۽ پروجيڪٽ ٺهيل آهي، تعمير کي پاسنگ اسٽيٽس ملندي . ٻي صورت ۾ توهان کي واپسي ڪرڻ جو موقعو هوندو ۽ ڏسو ته ڇا غلط ٿيو. تنهن ڪري، اهو سوال پڇڻ جو وقت آهي "ڇو هي ۽ ٻي صورت ۾ نه؟" ۽ سافٽ ويئر تي عمل درآمد تي هڪ نظر وٺو. مثال جيئن مون اڳ ۾ ئي چيو آهي، مضمون انهن لاءِ آهي جيڪي واقف آهن Maven ۽ Git. تنهن ڪري، مان اميد ڪندس ته توهان کي خبر آهي ته آء سي آء، وغيره قائم ڪرڻ کان سواء ڪيئن ۽ ڇا ڪريان.-
پهرين، اچو ته هڪ سادي Maven ٽيسٽ پروجيڪٽ ٺاهيو ۽ ان ۾ هڪ ڪلاس ٺاهيو جيڪو پرنٽ ڪري "هيلو ورلڊ!" ۽ ڪجھ سادو آپريشن ڪري ٿو، ۽ اچو ته ھن ڪلاس لاءِ آسان ترين ٽيسٽ لکون.
نتيجي طور، اسان کي هڪ ابتدائي منصوبي جي جوڙجڪ هجڻ گهرجي:
سڀئي ذريعا منهنجي GitHub تي هوندا. اهو مسئلو ناهي ته توهان پنهنجي مکيه ۾ ڇا لکندا آهيو ۽ اتي ڪهڙا امتحان هوندا.
-
اسان اسان جي پروجيڪٽ کي GitHub ڏانهن وڌايو.
-
هاڻي اچي ٿو مزيدار حصو. CI کان، مون چونڊيو Travis CI ان جي دستيابي ۽ اعتبار جي ڪري. ٽريس استعمال ڪري ٿو GitHub کي ميزباني ڪرڻ لاءِ ان جو سورس ڪوڊ.
تنهن ڪري، وڃو Travis CI ويب سائيٽ ۽ GitHub ذريعي لاگ ان ڪريو. پروفائل ۾ اسان اسان جي منصوبي سان ڳنڍيندا آھيون:
هر شئي هر زور سان اسيمبليءَ لاءِ تيار آهي، پر سوال اهو آهي ته ڪيئن گڏ ڪجي؟
-
اسان پنهنجي محبوب IDEA ڏانهن واپس وڃو ۽ هڪ .travis.yml فائل ٺاهي
هي فائل ٽريس تعمير جي ترتيب لاء ذميوار آهي. اچو ته سڀ کان وڌيڪ مشهور سيٽنگون ڏسو:
- توھان کي ٻولي بيان ڪرڻ جي ضرورت آھي جنھن ۾ منصوبي تي عمل ڪيو ويو آھي؛
- ٺاھڻ کي تيز ڪرڻ لاءِ ڊاريڪٽريز جو رستو بيان ڪريو ؛
- ڪامياب يا ناڪام اسيمبليءَ بابت اطلاعن جو طريقو بيان ڪريو .
هي اهو آهي جيڪو هڪ عام ٽريس ترتيب وانگر ڏسڻ گهرجي:
# https://docs.travis-ci.com/user/languages/java/ language: java jdk: oraclejdk9 # Improve Build Speed https://dzone.com/articles/travis-ci-tutorial-java-projects cache: directories: - $HOME/.m2 # Notifications https://docs.travis-ci.com/user/notifications/ notifications: email: recipients: - qThegamEp@gmail.com on_success: always # default: change on_failure: always # default: always
مون تبصرا شامل ڪيا آهن، لنڪ سان، وضاحت لاءِ.
-
اسان ٻيهر زور ڏيو GitHub ۽ کوليو Travis ويب سائيٽ ، منصوبي کي چونڊيو ۽ تعمير جي نگراني ڪريو. نتيجي طور، اسان هڪ ڪامياب تعمير بابت نوٽيفڪيشن حاصل ڪندا آهيون:
انهي سائيٽ تي پڻ اسان پنهنجي منصوبي جي ڪامياب اسيمبليء سان هڪ بيج ڏسي سگهون ٿا، جيڪو اسان پنهنجي README.md ۾ داخل ڪري سگهون ٿا:
-
منهنجو ٽيسٽ پروجيڪٽ جيڪو توهان ڏسي/ڊائون لوڊ ڪري سگهو ٿا جيڪڏهن توهان ڪجهه نه ٿا سمجهو؛
-
دراصل Travis CI ويب سائيٽ پاڻ ؛
-
Travis CI کي ترتيب ڏيڻ ۽ استعمال ڪرڻ تي سرڪاري ويب سائيٽ تي سبق ؛
-
سٺي وڊيو ؛
- ٻيو سبق ؛
GO TO FULL VERSION