Анықтама: Үздіксіз жеткізу дегеніміз не

Бұрын біз деді Үздіксіз интеграция (CI) туралы. Үздіксіз жеткізуді жалғастырайық. Бұл бағдарламалық жасақтаманы әзірлеу әдістерінің жиынтығы. Бұл сіздің кодыңыздың қолдануға дайын екеніне көз жеткізуге көмектеседі.

Анықтама: Үздіксіз жеткізу дегеніміз не
?азА?парат /Пиксабай/ көгілдір бұта / PL

История

Үздіксіз жеткізу тіркесін қайтадан көруге болады икемді манифест 2001 жылдан бастап негізгі қағидалар тізбесінің басында: «Басымдық - жаңартылған бағдарламалық қамтамасыз етуді үздіксіз жеткізу арқылы тұтынушылардың мәселелерін шешу».

2010 жылы Джез Хумбл мен Дэвид Фарли шығарылды кітап Үздіксіз жеткізу арқылы. Авторлардың пікірінше, CD тәсілді толықтырады Үздіксіз интеграция және орналастыру үшін кодты дайындауды жеңілдетуге мүмкіндік береді.

Кітап шыққаннан кейін бұл тәсіл танымал бола бастады және бірнеше жылдан кейін ол жалпыға бірдей дерлік қабылданды. Сәйкес сауалнама, 600 жылы 2014-ден астам әзірлеушілер мен АТ менеджерлері арасында жүргізілген, техникалық менеджерлердің 97%-ы және бағдарламашылардың 84%-ы Үздіксіз жеткізумен таныс болды.

Қазір бұл әдіс ең танымалдардың бірі болып қала береді. 2018 жылы DevOps және Jenkins қауымдастығының АТ қауымдастығы қатысқан зерттеуге сәйкес, ол пайдаланады мыңнан астам респонденттің жартысы сауалнама жүргізді.

Үздіксіз жеткізу қалай жұмыс істейді?

CD негізі кодтың орналастыруға дайындығы болып табылады. Бұл тапсырманы орындау үшін бағдарламалық қамтамасыз етуді шығаруға дайындау процесін автоматтандыру қолданылады. Ол әлсіз тұстарды тез табуға және оларды оңтайландыруға көмектесетін әртүрлі әзірлеу орталарында стандартты болуы керек. Мысалы, тестілеуді жылдамдату.

Үздіксіз жеткізу процесінің мысалы келесідей:

Анықтама: Үздіксіз жеткізу дегеніміз не

Үздіксіз интеграция тәсілі алғашқы екі кезеңді автоматтандыруға жауапты болса, келесі екеуіне Үздіксіз жеткізу жауап береді. Процестің тұрақтылығы басқалармен қатар жүйелермен қамтамасыз етіледі конфигурацияны басқару. Олар инфрақұрылымдағы, дерекқорлардағы және тәуелділіктердегі өзгерістерді бақылайды. Орналастырудың өзін автоматтандыруға немесе қолмен жасауға болады.

Процесске келесі талаптар қойылады:

  • Өндіріс ортасына кіруге дайындық және дереу шығаруға дайындық туралы ақпараттың болуы (CD құралдары кодты тексереді және шығарылымдағы өзгерістердің әсерін бағалауға мүмкіндік береді).
  • Соңғы өнім үшін жалпы жауапкершілік. Өнім тобы - менеджерлер, әзірлеушілер, сынақшылар - олардың жауапкершілік саласы туралы ғана емес, нәтиже туралы ойлайды (нәтиже - өнімді пайдаланушылар үшін қолжетімді жұмыс шығарылымы).

CD дискілерде ол әдетте қолданылады кодты қарау, ал тұтынушылардың пікірлерін жинау үшін - принцип қараңғы ұшыру. Жаңа мүмкіндік алдымен пайдаланушылардың шағын сегментіне шығарылады - олардың өніммен өзара әрекеттесу тәжірибесі ішкі тестілеу кезінде байқалмаған кемшіліктер мен қателерді табуға көмектеседі.

Не пайда

Үздіксіз жеткізу кодты орналастыруды жеңілдетуге көмектеседі, бұл өнімділікке оң әсер етеді және қызметкерлердің күйіп қалу ықтималдығын азайтады. Сайып келгенде, бұл жалпы әзірлеу шығындарын азайтады. Мысалы, CD HP командаларының біріне көмектесті азайту мұндай шығындар 40%-ға төмендейді.

Сонымен қатар, 2016 жылғы зерттеуге сәйкес (28-бет құжат) - компакт-дискілерді енгізген компаниялар ақпараттық қауіпсіздік мәселелерін әдісті пайдаланбайтындарға қарағанда 50% жылдам шешеді. Белгілі бір дәрежеде бұл айырмашылықты процестерді автоматтандыру құралдарының өнімділігімен түсіндіруге болады.

Тағы бір плюс - шығарылымдарды жеделдету. Финдік даму студиясында үздіксіз жеткізу көмектесті кодты құрастыру жылдамдығын 25%-ға арттыру.

Потенциалды қиындықтар

Бірінші және негізгі мәселе - таныс процестерді қайта құру қажеттілігі. Жаңа тәсілдің артықшылықтарын көрсету үшін ең көп еңбекті қажет ететін қолданбалардан емес, біртіндеп CD-ге ауысқан жөн.

Екінші ықтимал мәселе код тармақтарының көптігі болып табылады. «Бұтақталудың» салдары - жиі қақтығыстар және көп уақытты одан әрі жоғалту. Ықтимал шешім – тәсіл филиалдары жоқ.

Атап айтқанда, кейбір компанияларда тестілеу кезінде негізгі қиындықтар туындайды - бұл тым көп уақытты алады. Сынақ нәтижелерін жиі қолмен талдауға тура келеді, бірақ ықтимал шешім CD енгізудің бастапқы кезеңдерінде сынақтарды параллельдеу болуы мүмкін.

Сондай-ақ қызметкерлерді жаңа құралдармен жұмыс істеуге үйрету керек - алдын ала білім беру бағдарламасы әзірлеушілердің күші мен уақытын үнемдейді.

Анықтама: Үздіксіз жеткізу дегеніміз не
/flickr/ h.ger1969 / CC BY-SA

Құралдар

Міне, үздіксіз жеткізуге арналған бірнеше ашық құралдар:

  • GoCD — Java және JRuby on Rails тілдерінде үздіксіз жеткізуге арналған сервер. Бағдарламаны жеткізудің бүкіл процесін басқаруға мүмкіндік береді: құрастыру—сынақ—шығару. Құрал Apache 2.0 лицензиясы бойынша таратылады. Сіз оны ресми сайттан таба аласыз орнату нұсқаулығы.
  • Капистрано — Ruby, Java немесе PHP-де қолданбаларды орналастыруды автоматтандыратын сценарийлерді құруға арналған құрылым. Capistrano қашықтағы компьютерге SSH арқылы қосылу арқылы командаларды орындай алады. Integrity CI сервері сияқты басқа үздіксіз біріктіру және жеткізу құралдарымен жұмыс істейді.
  • Gradle қолданбаларды әзірлеудің бүкіл циклін автоматтандыратын көп платформалы құрал. Gradle Java, Python, C/C++, Scala, т.б. жұмыс істейді. Eclipse, IntelliJ және Дженкинспен интеграция бар.
  • Drone - Go тіліндегі CD платформасы. Дронды жергілікті жерде немесе бұлтта орналастыруға болады. Құрал контейнерлердің үстіне салынған және оларды басқару үшін YAML файлдарын пайдаланады.
  • Шпинат — көп бұлтты жүйелерде үздіксіз кодты жеткізу платформасы. Netflix әзірлеген Google инженерлері құралды әзірлеуде үлкен рөл атқарды. Орнату нұсқаулары оны ресми сайттан табыңыз.

Біздің корпоративтік блогымызда не оқуға болады:

Ақпарат көзі: www.habr.com

пікір қалдыру