«Үздіксіз интеграция дегеніміз не?»
Wiki бұл сұраққа қатысты не айтатынын көрейік : Үздіксіз интеграция (CI, English Continuous Integration) – жұмыс көшірмелерін күніне бірнеше рет ортақ негізгі әзірлеу тармағына біріктіруден және жобаның жиі автоматтандырылған құрастыруларын ертерек орындаудан тұратын бағдарламалық жасақтаманы әзірлеу тәжірибесі. ықтимал ақауларды анықтау және интеграциялық мәселелерді шешу. Қорқынышты, солай емес пе? Бұл терминді қарапайым сөздермен түсіндіруге тырысайық: Үздіксіз интеграция - қателер мен сәйкессіздіктерді анықтау үшін белгілі бір машиналарда белгілі бір конфигурациялары бар бағдарламалық жасақтаманы құру және автоматтандырылған тестілеу жүйесі. Жарайды, проблема жоқ, біз оны түсіндік, бірақ келесі логикалық сұрақ туындайды:Бізге CI не үшін қажет?
Сіз үлкен жоба жазып жатырсыз деп елестетіп көрейік және функционалдылықты қосу/өзгерту қажет. Сіз оны сәтті жазасыз, сынақтар жазасыз, оны іске қосасыз және бәрі жақсы сияқты, бірақ жоқ. Қате бір жерге сырғып, қате пайда болғанша бір функционалдық өзгеріс екіншісіне, екіншісі үшіншіге әсер ететін және т.б. жағдайлар бар. Иә, бұл нашар жобаланған жоба деп айта аласыз және сіз дұрыс шығарсыз, бірақ олай болмаса ше және бұл байланыстар шынымен де сонда болуы керек пе? Ал егер сіз жобаны бірнеше рет жазып, жасап жатсаңыз ше? Сіз жаңадан жазылған функционалдылық бойынша сынақтарды өткіздіңіз және олар оң нәтиже берді. Сіз тез міндеттеме жасадыңыз, содан кейін бір жерге итермеледіңіз және үйде қымбат виски ішіп отырып, темекі шегуді ойлап жатырсыз, бірақ жоқ. Өкінішке орай, сіздің әріптесіңіз немесе бастық, кім болса да, сіздің міндеттемеңізге байланысты бүкіл құрылыс бұзылды дейді. Сіз бағдарламашымын деп таңдана айтасыз, бәрін сынап көрдіңіз. Бірақ көбінесе бүкіл жобаны үнемі сынауға уақыт болмайды және сіз тұтастай алғанда бүкіл жинақты емес, өзгертулер енгізген code бөлігін ғана тексердіңіз. Міне, CI бізге көмекке келеді. Кез келген ресурсқа әр басу арқылы CI жобаңызды нөлден жасайды, БАРЛЫҚ сынақтарды іске қосады және тек барлық сынақтар өтіп, жоба құрастырылған болса, құрастыру өту күйін алады . Әйтпесе, сізде қайтып оралу және ненің дұрыс емес екенін көру мүмкіндігі болады. Ендеше, «Неге бұлай емес, басқаша емес?» деген сұрақты қоятын кез келді. және бағдарламалық қамтамасыз етуді енгізуді қараңыз. Мысал Жоғарыда айтқанымдай, мақала Maven және Git-пен таныс адамдарға арналған. Сондықтан, сіз CI орнатудан басқа қалай және не істейтінімді білесіз деп үміттенемін.-
Алдымен қарапайым Maven сынақ жобасын жасайық және онда «Hello World!» басып шығаратын класс жасайық. және кейбір қарапайым операцияларды орындайды және осы сынып үшін ең қарапайым тестті жазайық.
Нәтижесінде бізде қарабайыр жоба құрылымы болуы керек:
Барлық дереккөздер менің GitHub-да болады. Негізгі бөлімде не жазғаныңыз және қандай сынақтар болатыны маңызды емес.
-
Біз жобамызды GitHub-қа жібереміз.
-
Енді қызықты бөлік келді. CI-ден мен Travis CI-ді оның қолжетімділігі мен сенімділігіне байланысты таңдадым . Травис бастапқы codeын орналастыру үшін GitHub пайдаланады.
Сонымен, Travis CI веб-сайтына өтіп , GitHub арқылы кіріңіз. Профильде біз жобамызды байланыстырамыз:
Әр итергенде бәрі құрастыруға дайын, бірақ мәселе ҚАЛАЙ құрастыру керек?
-
Біз сүйікті IDEA-ға оралып, .travis.yml файлын жасаймыз
Бұл файл Travis құрастыру конфигурациясына жауап береді. Ең танымал параметрді қарастырайық:
- Жобаның қай тілде жүзеге асырылатынын көрсету керек ;
- Құрылымды жылдамdate үшін каталогтарға жолды көрсетіңіз ;
- Сәтті немесе сәтсіз құрастыру туралы хабарландыру әдісін көрсетіңіз .
Әдеттегі Travis конфигурациясы келесідей болуы керек:
# 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