Java жобасын жасау туралы сериядан мақала (басқа материалдарға сілтемелер соңында). Оның мақсаты – негізгі технологияларды талдау, нәтижесі – телеграмма ботын жазу. Сәлеметсіздер ме, құрметті оқырмандар. Алдыңғы бөлімде сипатталғандай , біз жоспар бойынша барамыз. Біз жобаны жасап қойдық және оны codeпен толтыру уақыты келді. Енді барлық мәселелер бөлек міндеттеме ретінде қосылады. Мен мұнда қажеттінің бәрін сипаттаймын. Егер мен бір нәрсені жіберіп алсам немесе оны жеткілікті түрде сипаттай алмасам, түсініктемелерде сұраңыз, мен жауап беруге тырысамын.
Біз JRTB-0M жазамыз
Бұл тапсырмада біз болашақ жұмыс үшін бос SpringBoot құрылымын қосуымыз керек. Біз мұны SpringBoot + Flyway туралы мақаладағыдай жасаймыз . Жобаны жүктеп алып , оны IDEA бағдарламасында ашыңыз және JRTB-0 деп аталатын жаңа фorал жасаңыз . Мен мұны қалай жасауға болатынын осы жерде идея арқылы сипаттадым . Бұл бізге болашақта жұмысты бақылауды жеңілдетеді. Енді сіз негізгі фorал жоқ екенін білесіз бе ? Енді ол бейтарап - негізгі деп аталады . Осылайша біз үйренеміз. Шынымды айтсам, біз оны әрқашан шебер деп өзгерте аламыз. Біз Spring Initializr- ге өтіп , біздің бот үшін SpringBoot құрылымын жасаймыз. Қазіргі уақытта ұсынылатын жүктеу спринтінің ең жас нұсқасы - 2.3.7, оны алайық. Мен келесі параметрлерді бөлек сипаттаймын:- Жоба: Maven жобасы - біз Maven туралы осында және осы жерде талқыладық . Сондықтан мен алдыңғы мақалаларда ашпаған нәрселерді қосымша сипаттаймын. Егер мұндай «ақ дақтар» болса, әрине)
- Тіл: Java - мұнда бәрі түсінікті. Егер тілек болса, біз бұл мәселені Котлинге қайта жаза аламыз. Мен өзіме жаңа ғана Котлин әрекеттегі кітабын сатып алдым, біз Котлинді бірге үйренеміз))
- Spring Boot: 2.3.7 - біз кез келген ақауларды жою үшін ұсынылған ең кіші нұсқасын аламыз. Бұл жүктеудің толығымен заманауи нұсқасы.
- Топ: com.github.javarushcommunity - мұнда біз репозитарийлер тобымыз орналасқан доменді таңдаймыз.
- Артефакт: javarush-telegrambot – жобаның максималды сипаттамасы.
- Аты: Javarush TelegramBot - біз оны толығымен осында жазамыз.
- Сипаттама: Javarush-қа арналған Telegram боты қауымдастықтан қоғамдастыққа - мұнда жобаның егжей-тегжейлі сипаттамасы берілген.
- Пакет атауы: com.github.javarushcommunity.jrtb - мұнда жоба атауының аббревиатурасын пайдалануға болады. Енді жоба осы пакеттен басталады. Неге сонша көп? Класс жолына басқа жобаларды қосқанда, олар әртүрлі пакеттерде болады. Әрқайсысы өзіндік ерекше жолмен. Бұл OOP принциптерін сақтау үшін маңызды.
- Қаптама: Банк біздің стандартымыз)
- Java: 11 - біз бір қадам алда боламыз. Мен сегізінші Java-дан кейін инновацияларды қолданамын деп ойламаймын, бірақ солай болсын. Ол тамақ сұрамайды)... бұл шешім бізге болашақта кішкентай Пасха жұмыртқасын береді)
CI процесін орнату
Біз жасалған тарту сұрауына барамыз: төменде бізде конфигурацияланған Үздіксіз интеграция (бұдан әрі - CI) жоқ екенін көреміз . Жақсы, ол конфигурацияланбаған, не болды? Неліктен бізге CI керек? CI деген не? Бұл қазіргі уақытта бізді толғандыратын сұрақтардың шамамен тізімі. Жалпы алғанда, CI - жалпы codeтық базаға codeты біріктірудің және оған дейін жобаның құрылымын іске қосудың үздіксіз процесі. Құрылым деп аталатын (ағылшынша құрастырудан). Біз жобаны құрастырған сайын жобаның құрастырылғанына, оның барлық сынақтарынан сәтті өткеніне көз жеткіземіз, сонымен қатар жобаны құрастырғаннан кейін осы арнайы құрастыруда орындалатын тестерлерден CI-ге автотесттерді қосуға болады. Осылайша, біз жаңа өзгерістер біз күткендей жұмыс істейтініне және алдыңғы функционалдылықты бұзbyteынына сенімді боламыз. CI да жақсы, себебі ол code базасын жаңартқаннан кейін автоматты түрде басталады. Яғни, біз өз өзгерістерімізді фorалға енгіздік және процесс басталды - құрастыру, сынақтар, автотесттер және басқа да қадамдар. Осы қадамдардың кез келгені сәтсіз болса, құрастыру бұзылған болып саналады және оны негізгі тармаққа біріктіру мүмкін емес. Дәл қазір біз осылай істейміз: біз GitHub әрекеттерін қосамыз, ол codeты итеруден кейін іске қосады. 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