Continuous Integration med Jenkins

Bakgrund

Det har blivit allt vanligare att företag försöker förbättra programvarans kvalitet och eliminera risker tidigt genom att införa kontinuerlig integration.

Syfte

Införandet av kontinuerlig integration i en utvecklingsorganisation med befintliga projekt och produkter är inte helt utan utmaningar. Detta seminarium syftar till att ge lärdom om hur arbetssätt och processer påverkas genom att gå igenom införandet av CI i en produkt som utvecklats helt utan automattester och kontinuerlig integration.

Mål

Efter genomgången utbildning ska deltagarna ha förståelse för hur continuous integration kan införas och användas för att effektivisera och kvalitetssäkra programvaruutveckling och leverans.

Kursinnehåll

Continuous Integration

Metoden Continuous Integration (CI) innebär att så fort en utvecklare checkar in en förändring eller ett tillägg i källkoden så byggs programvaran och testas. Detta sker helt automatiskt och pågår dygnet runt. Genom att använda CI som en integrerad del i utvecklingsprocessen får utvecklarna omedelbar återkoppling om fel har uppstått och kan åtgärda dessa direkt. Utvecklarna kan fokusera på utvecklingen medan datorerna tar över det monotona testarbetet. En utvidgning av CI är Continuous Delivery (CD). Då lägger man till att även leveranser av programvaran ska ske automatiskt.

Teori och Metoder inom CI

Del 1 utgörs av ett seminarium som omfattar följande moment:

  • Vad är Continuous Integration
  • Automatbyggen
  • Automattester
  • Verktyg (Jenkins och andra alternativ)
  • Hur CI infördes i Safir SDK Core
  • Lärdomar från Safir SDK Core

CI i er organisation

Del 2 omfattar en kundanpassad workshop där vi tillsammans diskuterar hur ett införande kan göras på bästa sätt. Bör det göras stegvis eller som en big bang? Hur ser ert system ut, vilka behov finns, och vilka verktyg löser problemen? Hur kommer behoven att se ut framöver?

Vi provar att sätta upp en Jenkins-server och experimenterar med hur byggen och tester fungerar.

FÖRELÄSARE

  • Lars Hagström
    Lars Hagström

    Lars är en erfaren och omtyckt utvecklare som gillar teamwork och kommunikation. Han kombinerar förståelse av helheten med insikten om detaljernas betydelse och tycker om både att lösa enskilda problem såväl som att diskutera systemarkitektur.

    Lars är en mycket erfaren C++-utvecklare på både Linux och Windows. Har arbetat mycket med datadistribution, distribuerade system med realtidskrav, tillförlitliga system och GUI-utveckling. Lars har också stor erfarenhet av automatiserade bygg- och testmiljöer och är en expert på Continuous Integrations och Continuous Deployment med Jenkins. Lars har stort fokus på kvalitet och att producerad mjukvara ska vara lätt att underhålla.

Önskar du mer information?

Har du frågor kring detta seminarium och workshops utförande i mer detalj och hur den skulle kunna skräddarsys för just din organisation? Tveka då inte att kontakta oss.