Маълумот: чӣ гуна раванди ҳамгироии муттасил кор мекунад

Имрӯз мо ба таърихи истилоҳ назар меандозем, мушкилоти татбиқи CI-ро баррасӣ мекунем ва якчанд асбобҳои маъмулеро пешниҳод мекунем, ки ба шумо бо он кор кардан кӯмак мекунанд.

Маълумот: чӣ гуна раванди ҳамгироии муттасил кор мекунад
/Flickr/ Алтуг Каракоч / CC BY / Аксҳо тағир дода шудаанд

Истилоҳ

Интегратсияи муттасил равиш ба таҳияи барномаҳост, ки эҷоди зуд-зуд лоиҳа ва санҷиши кодро дар бар мегирад.

Ҳадаф аз он иборат аст, ки раванди ҳамгироиро пешгӯӣ кардан ва дар марҳилаи аввал ошкор кардани хатогиҳо ва хатогиҳои эҳтимолӣ, барои ислоҳи онҳо вақти бештар лозим аст.

Истилоҳи "Интегратсияи пайваста" бори аввал соли 1991 пайдо шудааст. Онро созандаи забони UML муаррифӣ кардааст Греди Батч (Грейди Буч). Муҳандис консепсияи CI-ро ҳамчун як ҷузъи таҷрибаи рушди худ муаррифӣ кард - Усули Booch. Он ҳангоми тарҳрезии системаҳои ба объект нигаронидашуда такмили афзояндаи меъмориро дар назар дошт. Gradi ҳеҷ гуна талаботро барои ҳамгироии муттасил тавсиф накардааст. Аммо баъдтар дар китоби худ "Таҳлили ба объект нигаронидашуда ва тарҳрезӣ бо барномаҳо"Вай гуфт, ки ҳадафи методология суръат бахшидан ба нашри "релизҳои дохилӣ" аст.

ҳикояи

Дар соли 1996, CI аз ҷониби эҷодкорони методология қабул карда шуд барномасозии шадид (XP) - Кент Бек (Кент Бек) ва Рон Ҷеффрис (Рон Ҷеффрис). Интегратсияи доимӣ яке аз дувоздаҳ принсипи асосии муносибати онҳо гардид. Муассисони XP талаботро ба методологияи CI равшан карданд ва зарурати сохтани лоиҳаро дар як рӯз чанд маротиба қайд карданд.

Дар ибтидои солҳои 2000-ум, яке аз муассисони Alliance Agile ба пешбурди методологияи муттаҳидшавӣ шурӯъ кард. Мартин Фаулер (Мартин Фаулер). Таҷрибаҳои ӯ бо CI боиси аввалин асбоби нармафзор дар ин соҳа - CruiseControl шуданд. Ин хидматро ҳамтои Мартин Мэттью Фоеммел сохтааст.

Давраи сохтан дар асбоб ҳамчун демон амалӣ карда мешавад, ки мунтазам системаи идоракунии версияро барои тағирот дар пойгоҳи код тафтиш мекунад. Ҳалли метавонад имрӯз боркашӣ - он паҳн мекунад таҳти иҷозатномаи ба BSD монанд.

Бо пайдоиши нармафзор барои CI, шумораи бештари ширкатҳо ба қабули таҷриба шурӯъ карданд. Мувофиқи тадқиқоти Форрестер [саҳифаи 5 гузориш], дар соли 2009, 86% аз панҷоҳ ширкати технологии пурсишшуда усулҳои CI-ро истифода ё татбиқ кардаанд.

Имрӯз, таҷрибаи ҳамгироии муттасил аз ҷониби ташкилотҳои соҳаҳои гуногуни саноат истифода мешавад. Дар соли 2018 як провайдери бузурги абрӣ дар байни мутахассисони IT аз ширкатҳои бахшҳои хадамот, маориф ва молия пурсиш гузаронд. Аз шаш ҳазор пурсидашудагон 58% гуфтаанд, ки дар кори худ абзорҳо ва принсипҳои CI-ро истифода мебаранд.

Чӣ тавр ба ин кор

Интегратсияи пайваста ба ду асбоб асос ёфтааст: системаи идоракунии версия ва сервери CI. Охирин метавонад як дастгоҳи ҷисмонӣ ё мошини виртуалӣ дар муҳити абрӣ бошад. Таҳиягарон дар як рӯз як ё якчанд маротиба рамзи навро бор мекунанд. Сервери CI ба таври худкор онро бо тамоми вобастагӣ нусхабардорӣ мекунад ва онро месозад. Пас аз он, он санҷишҳои ҳамгироӣ ва воҳидҳоро иҷро мекунад. Агар санҷишҳо бомуваффақият гузаранд, системаи CI кодро ҷойгир мекунад.

Диаграммаи умумии равандро метавон ба таври зерин муаррифӣ кард:

Маълумот: чӣ гуна раванди ҳамгироии муттасил кор мекунад

Методологияи CI барои таҳиягарон як қатор талаботҳоро мегузорад:

  • Мушкилотро фавран ислоҳ кунед. Ин принсип ба CI аз барномасозии шадид омадааст. Ислоҳи хатогиҳо афзалияти аввалиндараҷаи таҳиягарон аст.
  • Автоматикунонии равандҳо. Таҳиягарон ва менеҷерҳо бояд ҳамеша дар раванди интегратсия мушкилотро ҷустуҷӯ кунанд ва онҳоро бартараф кунанд. Масалан, аксар вақт дар интегратсия мушкилот вуҷуд дорад рӯй медиҳад озмоиш.
  • Ҳарчи зудтар ҷамъомадҳо гузаронед. Дар як рӯз як маротиба барои ҳамоҳангсозии кори даста.

Мушкилоти амалӣ

Мушкилоти аввал хароҷоти баланди амалиётӣ мебошад. Ҳатто агар ширкат абзорҳои кушодаи CI-ро истифода барад (ки мо дар бораи онҳо баъдтар сӯҳбат хоҳем кард), вай бояд барои дастгирии инфрасохтор маблағ сарф кунад. Бо вуҷуди ин, технологияҳои абрӣ метавонанд ҳалли худро дошта бошанд.

Онҳо васлкунии конфигуратсияҳои миқёси гуногуни компютериро содда мекунанд. Плюс аз ширкат пардохта мешаванд танҳо барои захираҳои истифодашуда, ки ба сарфаи инфрасохтор кӯмак мекунад.

Мувофики пурсишхо [сах. 14 мақолаҳо], ҳамгироии пайваста сарбории кормандони ширкатро зиёд мекунад (ҳадди ақал дар аввал). Онхо бояд асбобхои навро азхуд кунанд ва хамкасбон на хамеша дар кори таълим ёрй мерасонанд. Аз ин рӯ, шумо бояд бо чаҳорчӯбаҳо ва хидматҳои нав дар парвоз сарукор кунед.

Мушкилоти сеюм ин мушкилот бо автоматизатсия аст. Ташкилотҳое, ки миқдори зиёди рамзи меросӣ доранд, ки бо санҷишҳои автоматӣ фаро гирифта нашудаанд, бо ин мушкилот рӯ ба рӯ мешаванд. Ин ба он оварда мерасонад, ки код пеш аз татбиқи пурраи CI танҳо аз нав навишта мешавад.

Маълумот: чӣ гуна раванди ҳамгироии муттасил кор мекунад
/Flickr/ онҳо / CC BY-SA

Кӣ истифода мебарад

Бузургони IT яке аз аввалинҳо буданд, ки бартариҳои методологияро қадр карданд. Google истифода мебарад ҳамгироии муттасил аз миёнаҳои солҳои 2000-ум. CI барои ҳалли мушкилоти таъхир дар системаи ҷустуҷӯӣ амалӣ карда шуд. Интегратсияи доимӣ барои зуд ошкор ва ҳалли мушкилот кӯмак кард. Ҳоло CI аз ҷониби ҳамаи шӯъбаҳои бузурги IT истифода мешавад.

Интегратсияи доимӣ инчунин ба ширкатҳои хурд кӯмак мекунад ва воситаҳои CI инчунин аз ҷониби ташкилотҳои молиявӣ ва тандурустӣ истифода мешаванд. Масалан, дар Morningstar, хидматҳои пайвастаи ҳамгироӣ барои бартараф кардани осебпазириҳо 70% тезтар кӯмак карданд. Ва платформаи тиббии Philips Healthcare тавонист суръати навсозиҳои санҷиширо дучанд кунад.

Tools

Инҳоянд баъзе асбобҳои маъмул барои CI:

  • Ҷенкинс яке аз маъмултарин системаҳои CI мебошад. Он зиёда аз ҳазор плагинҳоро барои ҳамгироӣ бо VCS гуногун, платформаҳои абрӣ ва хидматҳои дигар дастгирӣ мекунад. Мо инчунин Ҷенкинсро дар 1cloud: tool истифода мебарем ба системаи DevOps мо дохил карда шудааст. Вай мунтазам филиали Git-ро, ки барои санҷиш пешбинӣ шудааст, тафтиш мекунад.
  • Buildbot - чаҳорчӯбаи python барои навиштани равандҳои пайвастаи худ. Танзими ибтидоии асбоб хеле мураккаб аст, аммо ин бо имконоти васеъи мутобиқсозӣ ҷуброн карда мешавад. Дар байни бартариҳои чаҳорчӯба, корбарон шиддатнокии ками захираҳои онро таъкид мекунанд.
  • Конкурси CI сервер аз Pivotal аст, ки контейнерҳои Docker-ро истифода мебарад. Concourse CI бо ҳама асбобҳо ва системаҳои идоракунии версия ҳамгиро мешавад. Таҳиягарон қайд мекунанд, ки система барои кор дар ширкатҳои ҳама гуна андоза мувофиқ аст.
  • Gitlab CI асбобест, ки дар системаи идоракунии версияи GitLab сохта шудааст. Хидмат дар абр кор мекунад ва барои конфигуратсия файлҳои YAML-ро истифода мебарад. Мисли Concourse, Gitlab CI дахл дорад Контейнерҳои Docker, ки барои ҷудо кардани равандҳои гуногун аз ҳамдигар кӯмак мекунанд.
  • Рамзгузорӣ сервери абрии CI аст, ки бо GitHub, GitLab ва BitBucket кор мекунад. Платформа насби тӯлонии ибтидоиро талаб намекунад - равандҳои стандартии CI-и қаблан насбшуда дар Codeship дастрасанд. Барои лоиҳаҳои хурд (то 100 сохтмон дар як моҳ) ва кушодаасос, Codeship ройгон дастрас аст.

Маводҳо аз блоги корпоративии мо:

Манбаъ: will.com

Илова Эзоҳ