جاوا پروجيڪٽ ٺاهڻ بابت هڪ سيريز مان هڪ مضمون (ٻين مواد جي لنڪ آخر ۾ آهن). ان جو مقصد اهم ٽيڪنالاجي جو تجزيو ڪرڻ آهي، نتيجو هڪ ٽيليگرام بوٽ لکڻ آهي. سلام، پيارا پڙهندڙ. جيئن اڳئين حصي ۾ بيان ڪيو ويو آهي، اسان منصوبي جي مطابق ڪنداسين. اسان اڳ ۾ ئي هڪ پروجيڪٽ ٺاهي ڇڏيو آهي ۽ اهو وقت آهي ڪوڊ سان ڀرڻ جو. ھاڻي سڀئي مسئلا الڳ ڪمن جي طور تي شامل ڪيا ويندا. مان هتي هر شيءِ جو بيان ڪندس جيڪو ضروري آهي. جيڪڏهن مون کي ڪجهه ياد اچي يا ان کي واضح طور تي بيان نه ڪيو، تبصرن ۾ پڇو، مان جواب ڏيڻ جي ڪوشش ڪندس.
اسان لکون ٿا JRTB-0M
هن ڪم ۾ اسان کي مستقبل جي ڪم لاءِ خالي اسپرنگ بوٽ فريم ورڪ شامل ڪرڻو پوندو. اسان اهو ساڳيو طريقي سان ڪنداسين جيئن اسان SpringBoot + Flyway بابت مضمون ۾ ڪيو هو . پروجيڪٽ ڊائونلوڊ ڪريو ، ان کي IDEA ۾ کوليو ۽ JRTB-0 نالي هڪ نئين برانچ ٺاهيو . مون بيان ڪيو ته اهو ڪيئن ڪجي هتي هڪ خيال ذريعي . اهو اسان لاءِ مستقبل ۾ ڪم کي ٽريڪ ڪرڻ آسان بڻائيندو. ڇا توهان اڳ ۾ ئي ڄاڻو ٿا ته هاڻي ڪو ماسٽر برانچ ناهي ؟ هاڻي ان کي سڏيو ويندو آهي غير جانبدار مکيه . تنهنڪري اسان کي ان جي عادت آهي. جيتوڻيڪ، ايماندار ٿيڻ لاء، اسان هميشه ان کي ماسٽر ڏانهن واپس ڪري سگھون ٿا. اسان وڃون ٿا Spring Initializr ۽ اسان جي بوٽ لاءِ اسپرنگ بوٽ فريم ورڪ ٺاھيو. هن وقت، پيش ڪيل بوٽ اسپرنٽ جو ننڍڙو نسخو 2.3.7 آهي، اچو ته ان کي وٺو. مان هيٺ ڏنل سيٽنگن کي الڳ الڳ بيان ڪندس.- پروجيڪٽ: Maven پروجيڪٽ - اسان اڳ ۾ ئي بحث ڪيو آهي Maven هتي ۽ هتي . تنهن ڪري، مان اضافي طور تي صرف بيان ڪندس جيڪو مون اڳئين مضمونن ۾ ظاهر نه ڪيو هو. جيڪڏهن اهڙا آهن "اڇا اسپاٽ"، يقينا)
- ٻولي: Java - هتي سڀ ڪجهه واضح آهي. جيڪڏهن ڪا خواهش آهي ته اسان هن معاملي کي ڪوٽلن ۾ ٻيهر لکي سگهون ٿا. مون صرف پاڻ لاءِ هڪ ڪتاب ڪوٽلن ان ايڪشن خريد ڪيو آهي، اسان گڏجي ڪوٽلن سکنداسين))
- اسپرنگ بوٽ: 2.3.7 - اسان ڪنهن به مسئلن کي ختم ڪرڻ لاءِ پيش ڪيل ننڍڙو نسخو وٺون ٿا. هي اڳ ۾ ئي بوٽ جو هڪ مڪمل جديد نسخو آهي.
- گروپ: com.github.javarushcommunity - هتي اسان اهو ڊومين چونڊيو آهي جنهن تي اسان جي ذخيرن جو گروپ ميزبان آهي.
- آرٽيڪل: javarush-telegrambot - منصوبي جي وڌ ۾ وڌ وضاحت.
- نالو: Javarush TelegramBot - اسان ان کي مڪمل طور تي هتي لکنداسين.
- تفصيل: Telegram bot Javarush لاءِ ڪميونٽي کان ڪميونٽي تائين - هتي منصوبي جي وڌيڪ تفصيلي وضاحت آهي.
- پيڪيج جو نالو: com.github.javarushcommunity.jrtb - هتي توهان اڳ ۾ ئي منصوبي جي نالي لاءِ مخفف استعمال ڪري سگهو ٿا. هاڻي منصوبي جي شروعات هن پيڪيج سان ٿيندي. ايترا گهڻا ڇو؟ تنهن ڪري جڏهن اسان ٻين منصوبن کي ڪلاس پاٿ ۾ شامل ڪنداسين، اهي مختلف پيڪيجز ۾ هوندا. هر هڪ پنهنجي منفرد انداز ۾. اهو ضروري آهي ته OOP اصولن کي برقرار رکڻ لاء.
- پيڪنگنگ: جار اسان جو معيار آهي)
- جاوا: 11 - اسان هڪ قدم اڳتي هونداسين. مان نه ٿو سمجهان ته مان اٺين جاوا کان پوءِ جدت استعمال ڪندس، پر ٿيڻ ڏيو. هو ماني لاءِ نه ٿو پڇي)... اهو فيصلو اسان کي مستقبل ۾ هڪ ننڍڙو ايسٽر انڊي ڏيندو)
سي آء جي عمل کي ترتيب ڏيڻ
اسان ٺاھيل پل جي درخواست ڏانھن وڃون ٿا: ھيٺ اسان ڏسون ٿا ته اسان وٽ مسلسل انٽيگريشن ترتيب نه آھي (هتان کان پوء - CI). خير، اهو ترتيب نه آهي، پوء ڇا؟ اسان کي CI جي ضرورت ڇو آهي؟ تنهن هوندي به CI ڇا آهي؟ هي تقريبن سوالن جي فهرست آهي جيڪا هن وقت اسان کي پريشان ڪرڻ گهرجي. عام طور تي، سي آءِ ڪوڊ کي ضم ڪرڻ جو هڪ مسلسل عمل آهي هڪ عام ڪوڊ بيس ۾ ۽ ان کان اڳ منصوبي جي تعمير کي هلائڻ. نام نهاد تعمير (انگريزي تعمير مان). هر دفعي اسان هڪ پروجيڪٽ ٺاهيندا آهيون، اسان پڪ ڪريون ٿا ته پروجيڪٽ مرتب ڪيو ويو آهي، ان جا سڀئي تجربا ڪاميابيءَ سان گذري چڪا آهن، ان سان گڏ پراجيڪٽ ٺاهڻ کان پوءِ، توهان ٽيسٽرز کان سي آءِ ۾ آٽو ٽيسٽ شامل ڪري سگهو ٿا جيڪي هن مخصوص بلڊ تي هلن ٿا. هن طريقي سان، اسان وڌيڪ اعتماد ٿي چڪا آهيون ته نئين تبديليون ڪم ڪن ٿيون جيئن اسان توقع ڪندا آهيون ۽ اڳئين ڪارڪردگي کي ٽوڙڻ نه ڏيندا آهن. CI پڻ سٺو آهي ڇو ته اهو خودڪار طريقي سان شروع ٿئي ٿو ڪوڊ بيس کي اپڊيٽ ڪرڻ کان پوء. اھو آھي، اسان پنھنجي تبديلين کي شاخ ۾ ڌڪايو ۽ عمل شروع ڪيو - اسيمبلي، ٽيسٽ، آٽو ٽيسٽ ۽ ٻيا مرحلا. جيڪڏهن انهن مان ڪو به مرحلو ناڪام ٿئي ٿو، تعمير کي ڀڃي سمجهيو ويندو آهي ۽ مکيه شاخ ۾ ملائي نٿو سگهجي. اھو اھو آھي جيڪو اسان ھاڻي ڪنداسين: اسان شامل ڪنداسين GitHub عمل، جيڪو اسان جي ڪوڊ کي دٻائڻ کان پوء هلندو. GitHub ڪارناما اسان جي GitHub فلو ۾ مڪمل طور تي ٺهڪي اچي ٿو، تنهنڪري اسان ان کي استعمال ڪنداسين اسان جي ڪم کي خودڪار ڪرڻ لاء. ھي اوزار تمام طاقتور ۽ وڏو آھي، پر ھاڻي اسان ان کي صرف تعمير هلائڻ لاءِ استعمال ڪنداسين ۽ چيڪ ڪنداسين ته اھو ضرورت مطابق گڏ ٿيل آھي. ان کي فعال ڪرڻ لاءِ، ڳولھيو ايڪشن بٽڻ مخزن واري صفحي تي ۽ ان کي فالو ڪريو: ڳولھيو مسلسل انٽيگريشن ورڪ فلو جيڪو اسان جي ضرورت آھي: ڪلڪ ڪريو سيٽ اپ ھي ورڪ فلو. اڳيون، اسان کي انهن جي ٽيمپليٽ استعمال ڪرڻ جي آڇ ڪئي وئي آهي: اسان مڪمل طور تي متفق آهيون، اچو ته هر شيء کي ٿورو واضح ڪريون:# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn -B package --file pom.xml
اهو ظاهر ڪري ٿو ته GitHub ايڪشن ٻن ڪيسن ۾ سڏيو ويندو آهي:
- جڏهن هڪ ڌڪ مکيه شاخ ڏانهن ٺاهيو ويندو آهي.
- جڏهن هڪ پل جي درخواست مکيه شاخ ۾ ٺاهي وئي آهي.
GO TO FULL VERSION