Vad är kontinuerlig integration?
Kontinuerlig integration (CI) är praxis att hålla ett arkiv för programmeringskod ofta uppdaterat med utvecklarens förändringar. Detta hjälper till att säkerställa att flera utvecklare inte skapar programmeringskod som strider mot varandra. Utan kontinuerlig integration blir konflikter som förhindrar att kod körs ganska vanliga.
I en miljö med flera utvecklare blir det nödvändigt att bilda ett system som gör det möjligt för utvecklarna att arbeta tillsammans. Ett centralt kodsystem kallas kodbasen eller kodförvaret och fungerar som utgångspunkt för allt utvecklarens arbete. Varje utvecklare i gruppen kan ha en annan uppgift. En kan behöva förbättra användargränssnittet medan en annan kan behöva åtgärda ett problem i koden.
Utvecklarna kan arbeta med olika aspekter av programmet, men det finns möjlighet att konflikter uppstår. Dessa konflikter kan leda till att programmet blir instabilt eller till och med resulterar i att applikationen inte körs alls. Detta tvingar utvecklare att spendera extra tid på att bestämma vilken specifik del av koden som orsakar problemet. Detta resulterar i en förlust av produktivitet och tid då utvecklare tvingas fixa problem som kunde ha undvikits.
Kontinuerlig integration är lösningen på detta problem. Kontinuerlig integration fungerar genom att säkerställa att varje förändring en utvecklare gör omedelbart uppdateras i kodförvaret. När en annan utvecklare öppnar koderförvaret får han en kopia med de ändringar som tidigare utvecklare har gjort. Detta säkerställer att varje utvecklare får den mest uppdaterade kopian av den tillgängliga programmeringskoden.
Kontinuerlig integration förhindrar inte integrationsproblem. Även om kontinuerlig integration hjälper till att begränsa integrationsproblem, uppstår dessa problem fortfarande i alla miljöer med flera utvecklare. Även med kontinuerlig integration tar det fortfarande tid för varje enskild utvecklare att göra ändringar i koden. Detta resulterar i att vissa förändringar görs i förvaret utan att andra utvecklare inser det.
Även om kontinuerlig integration inte kan lindra alla konflikter som uppstår i en miljö med flera utvecklare, är det en effektiv lösning som maximerar produktiviteten. Det gör att flera utvecklare kan arbeta tillsammans och skapa applikationer på rimlig tid. Utan det skulle utvecklarna tvingas spendera timmar på att rätta till de problem som uppstår till följd av att försöka integrera två olika kodstycken. CI sparar utvecklare tid och sparar företag och konsumenter pengar.