Hva er forskjellen mellom kontinuerlig integrasjonsverktøy og versjonskontrollverktøy (f.eks. Jenkin / Maven og GitHUB / SVN)?


Svar 1:

Et versjonskontrollsystem (VCS) hjelper deg med å lage meningsfulle sett med endringer i kildekoden til prosjektet ditt, sende disse endringene et sted sentralt slik at du holder historien om endringene trygt, og gjør det enkelt for andre i teamet ditt å få historie med endringer for å samarbeide med deg.

Et kontinuerlig integrasjonssystem (CI) hjelper deg å bygge, eller teste eller begge deler kildekoden til prosjektet for å se om det fungerer uten feil, hver gang du gjør et meningsfullt sett med endringer.

En VCS er relatert til et CI-system ved at man vanligvis setter opp en automatisert prosess som knytter dem, ved å utløse en build hver gang et sett med endringer lander i VCS.

CI-systemet rapporterer om en bygg var vellykket eller ikke på egen hånd, men kan også rapportere tilbake til den som utløste byggeprosessen.

En byggeprosess kan utløses enten ved at CI-systemet periodisk pollerer VCS for endringer, eller ved at VCS gir beskjed til CI-systemet om at det er nye endringer. Det siste oppsettet er vennligere ressursvennlig.


Svar 2:

Kontinuerlige integrasjonsverktøy hjelper oss å støtte den nødvendige prosessen for programvareløsningsproduksjon / fabrikk. For eksempel kan denne prosessen omfatte å sjekke kildekoden, kompilere kildekoden, kjøre automatiske tester, bygge en pakke og distribuere programvareløsningen til klienter.

Et kildekontrollverktøy lar oss administrere endringene på kildekoden, derfor er kildekontroll et verktøy som er del av en kontinuerlig integrasjonsprosess.

I mange tilfeller kan Jenkins / Maven ringe SVN for å sjekke ut koden. Men Jenkins / Maven integreres med andre verktøy som Unit Testing Tools som en del av den kontinuerlige integrasjonsprosessen.


Svar 3:

Versjonskontrollverktøy: Svn, Git, CVS er de populære VCS-verktøyene som gir en måte å opprettholde en historie med endringer i løpet av programvareutviklingsprosessen. Det lar deg gå tilbake i historien og se hele endringene i kodebasen.

GitHub: Det er et nettsted for online hosting ditt git-lager. Hovedideen bak hosting er samarbeid mellom forskjellige samfunn for utviklere.

Byggverktøy: Maven, Gradle, Ant, SBT osv. Er de kalt build-verktøyene som hjelper deg å administrere alle dine avhengigheter og forenkle byggeprosessen din som innebærer kompilering, utføring, distribusjon osv. Jenkins er et open source automatiseringsverktøy som lar du forenkler byggeprosessen ved å automatisere den.