Үзгүлтүксүз жайылтууну уюштуруу үчүн 3 популярдуу куралдар (Үзгүлтүксүз жайылтуу)
Үзгүлтүксүз жайгаштыруу программалык камсыздоонун ар кандай функцияларын тез, коопсуз жана натыйжалуу ишке ашыруу үчүн колдонулган программалык камсыздоону иштеп чыгуудагы өзгөчө ыкма.
Негизги идея - иштеп чыгуучуга даяр продукцияны колдонуучуга тез жеткирүүгө мүмкүндүк берген ишенимдүү автоматташтырылган процессти түзүү. Ошол эле учурда өндүрүшкө тынымсыз өзгөртүүлөр киргизилет - бул үзгүлтүксүз жеткирүү түтүкчөлөрү (CD Pipeline) деп аталат.
Биз эсиңизге салабыз:"Хабрдын" бардык окурмандары үчүн - "Habr" промо-кодун колдонуу менен каалаган Skillbox курсуна катталганда 10 000 рубль арзандатуу.
Агымды башкаруу үчүн, сиз акы төлөнүүчү жана толугу менен акысыз, анын ичинде көптөгөн куралдарды колдоно аласыз. Бул макалада ар бир программист үчүн пайдалуу боло турган иштеп чыгуучулардын эң популярдуу үч чечими сүрөттөлөт.
Jenkins
Толугу менен өз алдынча ачык булак автоматташтыруу сервери. Бул программалык камсыздоону курууга, сыноого, жөнөтүүгө же жайылтууга байланыштуу ар кандай тапшырмаларды автоматташтыруу үчүн иштөөгө арзырлык.
Компьютерге минималдуу талаптар:
256 MB RAM, 1 ГБ файл мейкиндиги.
Оптималдуу:
1 ГБ RAM, 50 ГБ катуу диск.
Иштөө үчүн сизге кошумча программа керек болот - Java Runtime Environment (JRE) 8 версиясы.
Андан кийин, Дженкинс системада демейки порт 8080 аркылуу жеткиликтүү болот.
Функционалдуулукту текшерүү үчүн браузерде даректи ачуу керек көрүү .xrf:8080. Андан кийин система түпкү колдонуучу үчүн баштапкы сырсөздү киргизүүнү сунуштайт. Бул сырсөз /var/lib/jenkins/secrets/initialAdminPassword файлында жайгашкан.
Эми баары даяр, сиз CI/CD агымдарын түзө баштасаңыз болот. Жумушчу столдун графикалык интерфейси төмөнкүдөй көрүнөт:
Дженкинс күчтүү жактары:
Master/Slave архитектурасы тарабынан берилген масштабдуулук;
REST XML/JSON API болушу;
плагиндердин жардамы менен көп сандагы кеңейтүүлөрдү туташтыруу мүмкүнчүлүгү;
активдүү жана тынымсыз өнүгүп жаткан коом.
жактары:
аналитикалык блок жок;
колдонуучуга абдан ыңгайлуу интерфейс эмес.
TeamCity
JetBrains компаниясынан коммерциялык өнүгүү. Сервер жөнөкөй орнотуу жана сонун интерфейси менен жакшы. Демейки конфигурацияда көптөгөн функциялар бар жана жеткиликтүү плагиндердин саны тынымсыз көбөйүүдө.
Java Runtime Environment (JRE) 8 версиясын талап кылат.
Сервердин жабдыктарына талаптар критикалык эмес:
RAM - 3,2 ГБ;
процессор - эки ядролуу, 3,2 ГГц;
1 Гб/с кубаттуулуктагы байланыш каналы.
Сервер жогорку көрсөткүчтөргө жетишүүгө мүмкүндүк берет:
60 куруу конфигурациялары менен 300 долбоор;
куруу журналы үчүн 2 МБ бөлүү;
50 куруучу агенттер;
веб версиясында 50 колдонуучу жана IDEде 30 колдонуучу менен иштөө мүмкүнчүлүгү;
Тышкы VCS 100 туташуусу, адатта Perforce жана Subversion. Орточо өзгөртүү убактысы 120 секунд;
Агенттин талаптары иштеп жаткан жыйындарга негизделген. Сервердин негизги милдети - бардык туташкан агенттерди көзөмөлдөө жана натыйжаларды билдирүү менен шайкештиктин талаптарынын негизинде бул агенттерге кезекте турган чогулуштарды бөлүштүрүү. Агенттер ар кандай платформаларда жана операциялык системаларда, ошондой эле алдын ала конфигурацияланган чөйрөдө келет.
Куруу натыйжалары жөнүндө бардык маалыматтар маалымат базасында сакталат. Биринчи кезекте бул тарых жана башка ушул сыяктуу маалыматтар, VCS өзгөртүүлөр, агенттер, куруу кезектери, колдонуучунун каттоо эсеби жана уруксаттар. Маалыматтар базасы куруу журналдарын жана артефакттарды гана камтыбайт.
Linux үчүн орнотуу
TeamCityти Tomcat сервлет контейнери менен кол менен орнотуу үчүн, TeamCity архивин колдонушуңуз керек: TeamCity .tar.gz. Жүктөп алуу бул жерден ала аласыз.
tar -xfz TeamCity.tar.gz
/bin/runAll. sh [баштоо|токтоо]
Сиз биринчи жолу баштаганда, сиз монтаждык маалыматтар сактала турган маалымат базасынын түрүн тандап алышыңыз керек.
Демейки конфигурация иштейт көрүү .xrf:8111/ бир эле компьютерде иштеген бир катталган куруу агенти менен.
TeamCity'дин күчтүү жактары:
оңой орнотуу;
Колдонуучу достук колдонмо;
орнотулган функциялардын көп саны;
колдоо кызматы;
RESTful API бар;
жакшы документтер;
жакшы коопсуздук.
жактары:
чектелген интеграция;
Бул акы төлөнүүчү курал болуп саналат;
кичинекей коомчулук (бирок, өсүп жатат).
GoCD
Орнотуу жана иштетүү үчүн Java Runtime Environment (JRE) 8 версиясын талап кылган ачык булак долбоору.
Системалык талаптар:
RAM - 1 ГБ минималдуу, көбүрөөк жакшы;
процессор - эки ядролуу, негизги жыштыгы 2 ГГц;
катуу диск - кеминде 1 ГБ бош орун.
Агент:
RAM - кеминде 128 МБ, көбүрөөк жакшыраак;
процессор - кеминде 2 ГГц.
Сервер агенттердин иштешин камсыздайт жана колдонуучуга ыңгайлуу интерфейсти камсыз кылат:
Этаптар/жумуштар/милдеттери:
Linux үчүн орнотуу
жаңырык "деб download.gocd.org /” | sudo tee /etc/apt/sources.list.d/gocd.list
Бул үч гана инструмент, чындыгында дагы көп. Бул тандоо кыйын, ошондуктан, албетте, кошумча аспектилерине кулак салышыбыз керек.
Куралдын ачык баштапкы коду анын эмне экенин түшүнүүгө жана жаңы функцияларды тезирээк кошууга мүмкүндүк берет. Бирок бир нерсе иштебей калса, анда сиз өзүңүзгө жана коомчулуктун жардамына гана таянышыңыз керек. Акы төлөнүүчү куралдар кээде маанилүү болушу мүмкүн болгон колдоо көрсөтөт.
Эгер коопсуздук сиздин башкы приоритетиңиз болсо, анда ал жергиликтүү курал менен иштөөгө арзыйт. Эгерде жок болсо, анда SaaS чечимди тандоо жакшы чечим болуп саналат.
Акырында, чындап эле натыйжалуу үзгүлтүксүз жайылтуу процессин камсыз кылуу үчүн, сиз критерийлерди иштеп чыгышыңыз керек, алардын өзгөчөлүктөрү жеткиликтүү инструменттердин спектрин кыскартууга мүмкүндүк берет.