Continuous Delivery

DevCore jobbar alltid aktivt för att säkra och höja kvaliteten på våra leveranser. Vi strävar alltid efter att våra projekt ska anamma Continuous Delivery, vilket innebär korta release-cykler med automatiserade byggen, tester och produktionssättningar.

Korta release-cykler med automatiserade byggen, tester och produktionssättningar. Hög leveranskvalitet beror naturligtvis även på planering, projektstyrning och utvecklingsprocesser, men här koncentrerar vi oss på att berätta lite om hur vi förändrar våra release-processer.

Poängen med att automatisera så mycket som möjligt är att release-processen blir förutsägbar och repeterbar, vilket i sin tur gör att man sparar tid och minimerar mänskliga fel som kan uppkomma vid manuella steg.

Versionshantering

Versionshantering är en förutsättning för att spåra kodförändringar över tid och att hålla parallella utvecklingsspår samtidigt. Vi har länge använt Git för att hantera vår källkod, men nu har vi även standardiserat vår branching-strategi och hur den relaterar till olika release-kanaler och livscykler.

Byggsystem

Vi har tidigare använt Team Foundation Servers (TFS) XAML-byggsystem för att automatiskt kompilera och köra tester när ny kod checkas in. Nu migrerar vi våra byggen till det nya byggsystemet i TFS 2015 som är mer kraftfullt och modulärt. Med det nya byggsystemet kan vi nu, direkt på byggserver, enkelt köra allt som behövs (kod-kompilering, sass-kompilering, sprite-generering, npm, gulp m.m.) för att få ihop ett deploybart paket. Tidigare behövde utvecklare skapa detta paket lokalt på sin utvecklingsdator, vilket kan skapa problem då man inte har en konsekvent byggmiljö.

Nu kan vi även köra fler tester och analysverktyg för att snabbare fånga eventuella problem. Det faktum att byggservern kan köra preprocessorer för t.ex. javascript och css, gör att vi inte längre behöver checka in resultatfilerna, så nu slipper vi onödiga irriterande merge-konflikter när flera utvecklare jobbar tillsammans.

”Sedan vi valde att anlita DevCore för snart 2 år sedan har deras konsulter jobbat på ett professionellt och kreativt sätt. De är duktiga på att förstå våra problem och föreslå lösningar, men även ge rekommendationer på bättre lösningar.”

Omdöme från en kund :)

Deploy

När det gäller deployer av det som byggts så har vi tidigare gjort det via MS web deploy i våra interna testmiljöer, men då web deploy har vissa begränsningar så har vi gjort produktionssättningar genom manuell filkopiering. Nu har vi införskaffat Octopus Deploy för att sköta alla deploys oavsett miljö. Med Octopus Deploy får vi en release-pipeline där releaser trycks in direkt ifrån byggservern. Release-pipelinen har olika steg, ett för varje miljö som ska deployas till. Hur många steg det är beror på projekt men oftast är det 2 eller 3 miljöer (utveckling/test - staging - produktion).

Mer om Octopus Deploy

Med Octopus Deploy byggs releasen enbart en gång, vilket gör att man kan vara säker på att man deployar exakt samma filer oavsett miljö. Efter tester är avklarade i en miljö kan man enkelt avancera releasen till nästa steg i kedjan med en knapptrycking och Octopus Deploy sköter allt automatiskt. Transformationer för konfigurationsfiler, som hanterar skillnader mellan miljöer, appliceras vid deploy istället för vid bygge som är det vanliga.

Utöver att göra releaser snabbare och mer robusta så ger Octopus Deploy tillsammans med TFS total spårbarhet mellan miljöer, byggserver och källkod. Det blir inget tvivel om vilken kod som körs i en miljö då man snabbt kan se exakt vilket unikt versionsnummer som är deployat och vilket bygge och version av koden som det motsvarar.

Affärsvärde för dig som kund och optimalt för oss som utvecklare

De förändringar vi gjort gör jobbet enklare, effektivare och tryggare för våra utvecklare och vi är övertygade om att det kommer återspeglas i affärsvärde för våra kunder.

Kundcase Continous Delivery

Verktyg för generering av löneunderlag i Access

DevCore har utvecklat ett verktyg för generering av löneunderlag för utskrift, med automatisk uträkning av karens, semester, sjukersättning och allt som hör till. De genererade underlagen var färdiga Microsoft Word-dokument som...

Webbapplikaton distributörshantering för hemelektronikkedja

DevCore har utvecklat en webbapplikation för administrering av produktkataloger från olika distributörer, åt en internationell hemelektronikkedja. Applikationen uppdateras kontinuerligt med...

Kontakta oss. Vi hjälper dig.

+46 (0)8 24 40 30 info@devcore.se

Your web browser is out of date. Update your browser for more security, speed and the best experience on this site.

Update your browser