Movatterモバイル変換


[0]ホーム

URL:


Hopp til innhold
Wikipedia
Søk

Kontinuerlig integrasjon

Fra Wikipedia, den frie encyklopedi
Skisse avflytdiagram for kontinuerlig integrasjon

Kontinuerlig integrasjon[1] (engelsk:continuous integration,CI) er en tilnærming tilprogramvareutvikling hvor man slår sammen alle utviklerne sine arbeidskopier til en delthovedgren flere ganger i løpet av dagen.[2]

Historie

[rediger |rediger kilde]

I 1991 foreslo Grady Booch begrepetcontinuous integration i det som har blitt kjent som Booch-metoden,[3][4] men foreslo da å ikke å integrere flere ganger om dagen.

I 1997 tokekstrem programmering (XP) i bruk det samme begrepet,[2][5][6] og foreslo å integrere mer enn en gang per dag, og kanskje så mye som et titalls ganger per dag.[7]

I 2001 ble CruiseControl utgitt som et av de første CI-verktøyene medåpen kildekode.[8]

Motivasjon

[rediger |rediger kilde]

Når enutvikler tar fatt på en endring vil vedkommende ta en kopi av den aktuellekodebasen og arbeide på denne. Etterhvert som andre utviklere sender inn sine kodeendringer tilkodelageret vil utvikleren sin kopi gradvis slutte å gjenspeile kodelageret. I tillegg til at den eksisterende kodebasen endres kan det legges til ny kode, nye biblioteker og andre ressurser som skaper avhengigheter og potensielle konflikter.

Dess lengre utviklingen fortsetter på en forgrening uten at man slår sammen tilbake til en hovedgren, desto større er risikoen for flere integrasjonskonflikter[9] og feil når utviklingsgrenen til slutt flettes tillbake. Når utviklere sender inn kode til kodelageret må de først oppdatere koden for å gjenspeile endringene i kodelageret siden de tok kopien. Jo flere endringer kodelageret inneholder, jo mer arbeid må utviklerne gjøre før de sender inn sine egne endringer.

Til slutt kan kodelageret bli så forskjellig fra utviklernes kodebase at det blir så vanskelig å integrere endringene at tiden det tar overstiger tiden det tok å gjøre de opprinnelige endringene.[10][11]

Se også

[rediger |rediger kilde]

Referanser

[rediger |rediger kilde]
  1. ^«På vei mot mer utvikling».Statens vegvesen. Besøkt 4. august 2022. 
  2. ^abFowler, Martin.«Continuous Integration». Besøkt 9. januar 2014. 
  3. ^Booch, Grady.Object Oriented Design: With Applications.Benjamin Cummings. s. 209.ISBN 9780805300918. Besøkt 18. august 2014. 
  4. ^Booch, Grady (desember 1998).Object-Oriented Analysis and Design with applications(PDF) (2nd utg.). Arkivert fraoriginalen(PDF) 19. august 2019. Besøkt 2. desember 2014. 
  5. ^.ISBN 9783540643036https://books.google.com/books?id=YBC5xD08NREC&q=%22Extreme+Programming%3A+A+Humanistic+Discipline+of+Software+Development%22&pg=PA4. Manglende eller tom|tittel= (hjelp)
  6. ^Beck, Kent.Extreme Programming Explained. Addison-Wesley Professional. s. 97.ISBN 978-0-201-61641-5. 
  7. ^Beck, K. (1999). «Embracing change with extreme programming».Computer. 32 (10): 70–77.doi:10.1109/2.796139. 
  8. ^«A Brief History of DevOps, Part III: Automated Testing and Continuous Integration».CircleCI. 1. februar 2018. Besøkt 19. mai 2018. 
  9. ^Duvall, Paul M.Continuous Integration. Improving Software Quality and Reducing Risk. Addison-Wesley.ISBN 978-0-321-33638-5. 
  10. ^Cunningham, Ward.«Integration Hell». Besøkt 19. september 2009. 
  11. ^«What is Continuous Integration?». 
Hentet fra «https://no.wikipedia.org/w/index.php?title=Kontinuerlig_integrasjon&oldid=24464186»
Kategori:
Skjulte kategorier:

[8]ページ先頭

©2009-2025 Movatter.jp