Referenz: wéi de kontinuéierleche Integratiounsprozess funktionnéiert

Haut wäerte mir d'Geschicht vum Begrëff kucken, iwwer d'Schwieregkeete vun der Ëmsetzung vun CI diskutéieren a verschidde populär Tools ubidden, déi Iech hëllefe mat deem ze schaffen.

Referenz: wéi de kontinuéierleche Integratiounsprozess funktionnéiert
/flickr/ Altug Karakoc / CC BY / Foto geännert

De Begrëff

Kontinuéierlech Integratioun ass eng Approche fir d'Applikatiounsentwécklung déi reegelméisseg Projetebauten a Codetesten involvéiert.

D'Zil ass den Integratiounsprozess virauszegesinn ze maachen an potenziell Bugs a Feeler an enger fréicher Etapp z'entdecken, sou datt et méi Zäit ass fir se ze fixéieren.

De Begrëff Kontinuéierlech Integratioun koum fir d'éischt am Joer 1991. Et gouf vum Schëpfer vun der UML Sprooch agefouert Grady Butch (Grady Boch). Den Ingenieur huet d'Konzept vum CI als Deel vu senger eegener Entwécklungspraxis agefouert - Booch Method. Et implizéiert inkrementell Verfeinerung vun der Architektur beim Design vun objektorientéierte Systemer. Gradi huet keng Ufuerderunge fir eng kontinuéierlech Integratioun beschriwwen. Awer méi spéit a sengem Buch "Objektorientéiert Analyse an Design mat Uwendungen"Hien huet gesot datt d'Zil vun der Methodologie ass d'Verëffentlechung vun "interne Verëffentlechungen ze beschleunegen."

Geschicht

Am 1996 gouf CI vun den Ersteller vun der Methodik ugeholl extrem programméiere (XP) - Kent Beck (Kent Beck) et al Ron Jeffries (Ron Jeffries). Kontinuéierlech Integratioun gouf ee vun den zwielef Schlësselprinzipien vun hirer Approche. D'Grënner vun XP hunn d'Ufuerderunge fir d'CI-Methodologie gekläert an bemierkt d'Notzung fir de Projet e puer Mol am Dag ze bauen.

Am fréien 2000er huet ee vun de Grënner vun der Agile Alliance ugefaang déi kontinuéierlech Integratiounsmethodologie ze förderen Martin Fowler (Martin Fowler). Seng Experimenter mat CI hunn zum éischte Software-Tool an dësem Beräich gefouert - CruiseControl. Den Utility gouf vum Martin säi Kolleg, Matthew Foemmel, erstallt.

De Build-Zyklus am Tool gëtt als Daemon implementéiert, deen de Versiounskontrollsystem periodesch iwwerpréift fir Ännerungen an der Codebasis. D'Léisung kann haut erofgeluede ginn - et verdeelt duerch ënner enger BSD-ähnlecher Lizenz.

Mat dem Advent vu Software fir CI hunn ëmmer méi Firmen ugefaang d'Praxis unzehuelen. No Forrester Fuerschung [Säit 5 mellen], am Joer 2009, 86% vun de fofzeg Technologiefirmen, déi befrot goufen, hunn CI Methoden benotzt oder ëmgesat.

Haut gëtt d'Praxis vun der kontinuéierlecher Integratioun vun Organisatiounen aus enger grousser Villfalt vun Industrien benotzt. Am Joer 2018 huet e grousse Cloud-Provider eng Ëmfro ënner IT-Spezialisten aus Firmen an de Servicer, Educatioun a Finanzsecteuren gemaach. Vun de sechsdausend Befroten hunn 58% gesot datt si CI Tools a Prinzipien an hirer Aarbecht benotzen.

Wéi heescht dat Aarbecht

Kontinuéierlech Integratioun baséiert op zwee Tools: e Versiounskontrollsystem an e CI Server. Déi lescht kann entweder e physeschen Apparat oder eng virtuell Maschinn an enger Wollek Ëmfeld sinn. Entwéckler lued neie Code een oder méi Mol am Dag erop. Den CI Server kopéiert et automatesch mat all Ofhängegkeeten a baut et. Duerno leeft et Integratioun an Eenheetstester. Wann d'Tester erfollegräich passéieren, deployéiert de CI System de Code.

Den allgemenge Prozessdiagramm kann wéi follegt duergestallt ginn:

Referenz: wéi de kontinuéierleche Integratiounsprozess funktionnéiert

D'CI Methodologie stellt eng Rei Ufuerderunge fir Entwéckler:

  • Korrigéiere Problemer direkt. Dëse Prinzip koum CI aus extremer programméiere. Bugs fixéieren ass déi héchst Prioritéit vun den Entwéckler.
  • Automatiséieren Prozesser. Entwéckler a Manager musse stänneg no Flaschenhals am Integratiounsprozess sichen an se eliminéieren. Zum Beispill gëtt et dacks e Flaschenhals an der Integratioun et huet sech erausgestallt testen.
  • Versammlungen esou dacks wéi méiglech maachen. Eemol am Dag fir d'Aarbecht vum Team ze synchroniséieren.

Ëmsetzung Schwieregkeeten

Den éischte Problem ass héich Operatiounskäschten. Och wann eng Firma oppen CI Tools benotzt (iwwer déi mir spéider schwätzen), muss se nach ëmmer Sue fir Infrastrukturunterstëtzung ausginn. Wéi och ëmmer, Cloud Technologien kënnen d'Léisung sinn.

Si vereinfachen d'Versammlung vu verschiddene Computerkonfiguratiounen. Plus vun der Firma bezuelt nëmme fir déi benotzte Ressourcen, wat hëlleft op Infrastruktur ze spueren.

Laut Ëmfroen [Säit 14 Artikelen], kontinuéierlech Integratioun erhéicht d'Laascht op d'Firma Mataarbechter (op d'mannst um éischte). Si mussen nei Tools léieren, a Kollegen hëllefen net ëmmer beim Training. Dofir musst Dir mat neie Kaderen a Servicer ënnerwee sinn.

Déi drëtt Schwieregkeet ass Problemer mat der Automatisatioun. Organisatiounen mat enger grousser Quantitéit un Legacy Code, déi net vun automatiséierten Tester ofgedeckt ass, konfrontéiert dëse Problem. Dëst féiert zu der Tatsaach, datt de Code einfach virun der voller Ëmsetzung vum CI nei geschriwwe gëtt.

Referenz: wéi de kontinuéierleche Integratiounsprozess funktionnéiert
/flickr/ theilr / CC BY-SA

Wien benotzt

IT Risen waren zu deenen éischten, déi d'Virdeeler vun der Methodik schätzen. Google benotzt kontinuéierlech Integratioun zënter Mëtt 2000s. CI gouf implementéiert fir de Problem vun Verzögerungen an der Sichmotor ze léisen. Kontinuéierlech Integratioun huet gehollef Problemer séier z'entdecken an ze léisen. Elo gëtt CI vun allen Departementer vum IT Ris benotzt.

Kontinuéierlech Integratioun hëlleft och kleng Firmen, an CI Tools ginn och vu Finanz- a Gesondheetsorganisatiounen benotzt. Zum Beispill, bei Morningstar, kontinuéierlech Integratiounsservicer hunn gehollef Schwachstelle 70% méi séier ze patchen. An d'Philips Healthcare medizinesch Plattform konnt d'Geschwindegkeet vun Testupdates verduebelen.

Tools

Hei sinn e puer populär Tools fir CI:

  • Jenkins ass ee vun de beléifste CI Systemer. Et ënnerstëtzt méi wéi dausend Plugins fir Integratioun mat verschiddene VCS, Cloud Plattformen an aner Servicer. Mir benotzen och Jenkins bei 1cloud: Tool an eisem DevOps System abegraff. Hie kontrolléiert regelméisseg d'Git Branche fir ze testen.
  • Buildbot - e Python Kader fir Är eege kontinuéierlech Integratiounsprozesser ze schreiwen. Den initialen Setup vum Tool ass zimlech komplizéiert, awer dëst gëtt duerch déi breet Personnalisatiounsoptiounen kompenséiert. Ënnert de Virdeeler vum Kader, Highlight Benotzer seng niddereg Ressource Intensitéit.
  • Concours CI ass e Server vu Pivotal deen Docker Container benotzt. Concourse CI integréiert mat all Tools a Versiounskontrollsystemer. D'Entwéckler bemierken datt de System gëeegent ass fir Aarbecht an Entreprisen vun all Gréisst.
  • Gitlab CI ass en Tool agebaut an de GitLab Versiounskontrollsystem. De Service leeft an der Wollek a benotzt YAML Dateien fir d'Konfiguratioun. Wéi Concourse, Gitlab CI gëllt Docker Container déi hëllefen verschidde Prozesser vuneneen ze isoléieren.
  • Kodéierung ass e Cloud CI Server dee mat GitHub, GitLab a BitBucket funktionnéiert. D'Plattform erfuerdert kee laangen initialen Setup - Standard virinstalléiert CI Prozesser sinn am Codeship verfügbar. Fir kleng (bis zu 100 Builds pro Mount) an Open Source Projeten ass Codeship gratis verfügbar.

Material aus eisem Corporate Blog:

Source: will.com

Setzt e Commentaire