Java taslamasyny döretmek baradaky seriýadan bir makala (beýleki materiallara baglanyşyk ahyrynda). Maksady esasy tehnologiýalary seljermek, netijesi telegramma bot ýazmak. Salam, gadyrly okyjylar. Öňki bölümde beýan edilişi ýaly meýilnama boýunça bararys. Biz eýýäm bir taslama döretdik we ony kod bilen doldurmagyň wagty geldi. Indi ähli meseleler aýratyn borçnama hökmünde goşular. Bu ýerde zerur zatlaryň hemmesini suratlandyraryn. Bir zady sypdyrsam ýa-da ýeterlik derejede suratlandyrmasam, teswirlerde soraň, jogap bermäge synanyşaryn.
JRTB-0M ýazýarys
Bu meselede geljekdäki işler üçin boş “SpringBoot” çarçuwasyny goşmalydyrys. Muny “SpringBoot + Flyway” baradaky makalada edişimiz ýaly ederis . Taslamany göçürip alyň , IDEA-da açyň we JRTB-0 atly täze şahamça dörediň . Muny nädip etmelidigini bu ýerde bir ideýa arkaly düşündirdim . Bu geljekde işimizi yzarlamagy aňsatlaşdyrar. Indi ussat şahanyň ýokdugyny bilýärdiňizmi ? Indi bitarap - esasy diýilýär . Şonuň üçin biz öwrenişdik. Dogrusyny aýtsak, elmydama adyny ussa diýip üýtgedip bileris. Bahar Initializr- a gidýäris we botumyz üçin “SpringBoot” çarçuwasyny döredýäris. Häzirki wagtda hödürlenýän boot sprintiň iň ýaş wersiýasy 2.3.7, geliň. Aşakdaky sazlamalary aýratyn düşündirerin:- Taslama: Maven taslamasy - bu ýerde we şu ýerde eýýäm Maven hakda pikir alyşdyk . Şonuň üçin diňe öňki makalalarda aýan etmedik zatlarymy goşmaça suratlandyraryn. Şeýle “ak tegmiller” bar bolsa, elbetde)
- Dil: Java - bu ýerde hemme zat düşnükli. Isleg bar bolsa, bu meseläni Kotlinde täzeden ýazyp bileris. Justaňy özüme Kotlin atly kitap satyn aldym, Kotlini bilelikde öwreneris))
- Bahar aýakgaby: 2.3.7 - islendik meseläni aradan aýyrmak üçin hödürlenen iň kiçi wersiýany alýarys. Bu eýýäm ýüklemäniň düýbünden döwrebap görnüşi.
- Topar: com.github.javarushcommunity - bu ýerde ammar toparymyzyň ýerleşýän domenini saýlaýarys.
- Artifact: javarush-telegrambot - taslamanyň iň ýokary beýany.
- Ady: Javarush TelegramBot - ony şu ýerde doly ýazarys.
- Düşündiriş: Javarush üçin jemgyýetden jemgyýete telegram boty - bu ýerde taslamanyň has jikme-jik beýany.
- Paketiň ady: com.github.javarushcommunity.jrtb - bu ýerde eýýäm taslamanyň ady üçin gysgaltmany ulanyp bilersiňiz. Indi taslama şu bukjadan başlar. Näme üçin beýle köp? Synp ýoluna başga taslamalary goşanymyzda, olar dürli paketlerde bolarlar. Hersiniň özboluşly usuly bar. OOP ýörelgelerini saklamak möhümdir.
- Gaplamak: banka biziň standartymyzdyr)
- Java: 11 - bir ädim öňde bolarys. Sekizinji Java-dan soň täzelikleri ulanaryn öýdemok, ýöne goýsun. Iýmit soramaýar) ... bu karar geljekde bize kiçijik Pasha ýumurtgasyny berer)
CI amalyny düzmek
Döredilen çekiş haýyşyna geçýäris: aşakda üznüksiz integrasiýa konfigurasiýasynyň ýokdugyny görýäris (mundan beýläk - CI). Dogry, düzülenok, näme? Näme üçin bize CI gerek? Her niçigem bolsa CI näme? Bu, häzirki wagtda bizi gyzyklandyrmaly soraglaryň sanawy. Umuman aýdanyňda, CI kody umumy kod bazasyna birleşdirmek we ondan ozal taslamanyň gurluşyny dowam etdirmekdir. Gurluşyk diýlip atlandyrylýar (Iňlis dilinden). Her gezek bir taslama guranymyzda, taslamanyň düzülendigine, ähli synaglarynyň üstünlikli geçendigine göz ýetirýäris, üstesine-de taslama gurlansoň, synagçylardan CI-e awtotestleri goşup bilersiňiz, bu ýörite binada işleýär. Şeýlelik bilen, täze üýtgeşmeleriň garaşyşymyz ýaly işleýändigine we öňki işleýşimizi bozmaýandygyna has ynamly bolýarys. CI hem gowy, sebäbi kod bazasy täzelenenden soň awtomatiki başlaýar. Changesagny, üýtgeşmelerimizi şaha geçirdik we proses başlandy - ýygnamak, synaglar, awtotestler we beýleki ädimler. Bu ädimleriň haýsydyr biri şowsuz bolsa, gurluşyk döwülen hasaplanýar we esasy şaha birleşdirilip bilinmez. Edil şu wagt etjek zadymyz: itekden soň kodumyzy işletjek GitHub Hereketlerini goşarys. GitHub hereketleri GitHub akymymyza gaty laýyk gelýär, şonuň üçin ony işimizi awtomatlaşdyrmak üçin ulanarys. Bu gural gaty güýçli we uludyr, ýöne häzirlikçe diňe gurluşy işletmek we zerur bolanda gurlandygyny barlamak üçin ulanarys. Ony işletmek üçin ammar sahypasyndaky Hereketler düwmesini tapyň we oňa eýeriň: Bize zerur bolan üznüksiz integrasiýa işini tapyň: Bu iş tertibini düzüň. Ondan soň, olaryň şablonyny ulanmagy teklip edýäris: doly ylalaşýarys, geliň hemme zady biraz aýdyňlaşdyralyň:# 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
Bu, GitHub hereketiniň iki ýagdaýda çagyrylýandygyny görkezýär:
- Esasy şaha iteklenende.
- Esasy şahada çekmek haýyşy döredilende.
GO TO FULL VERSION