« Hem

Vaddå deploy?

I skolans värld jobbar man mycket med de små detaljerna. Det handlar om att få enskilda metoder att fungera, och att sätta ihop dem till ett program som förhoppningsvis både kompilerar och sedan fungerar som tänkt vid körning. Jag minns när vi gjorde vårt allra första projekt i Java och hur stora problem det blev med de hårdkodade sökvägarna till databasen och hjälpfilerna i programmet. Vid inlämning skulle programmet zippas ihop och skickas till lärare och opponenter, och i åtta fall av tio fungerade det inte att köra på någon annan dator, vilket var frustrerande för alla parter.

I det skedet av utbildningen var det ingen lärare som pratade om det (antagligen för att inte överhetta våra redan kokande hjärnor) men det här var egentligen den första, lilla erfarenheten som vi hade av det som kallas deploy. Jag har försökt leta efter ett bra svenskt ord för det, men jag hittar inget klockrent. Enligt google translate är sprida, gruppera eller ”utveckla på bred front” lämpliga översättningar men om man ser till engelska definitioner av begreppet så säger Merriam-Webster att deploy är ”to organize and send out (people or things) to be used for a particular purpose”. Produktionssättning eller driftsättning är svenska ord som kommer rätt nära, men de täcker inte riktigt in hela begreppet. Det behöver inte handla om att lägga in något i produktionsmiljö, eller göra stora förändringar, utan deploy kan även handla om små saker eller förändringar som ska implementeras i en ny miljö. Uttrycket har även blivit försvenskat och vi pratar om att ”deploya” kod eller att den här ”deployen” inte gick som den skulle

Varför sitter jag och funderar på det här med deploy då? Jo, jag ska nämligen deploya en del kodändringar i en integration som jag utvecklat lokalt till vår testmiljö – och det är inte helt enkelt! Att deploya till test är visserligen inte lika kritiskt som att göra det i produktion, men man vill ändå inte störa dataflödet och definitivt inte deploya något som visar sig inte funka.

Vad är viktigt att tänka på när det gäller en deploy?

Tja, det beror såklart helt på hur processen ser ut. I mitt fall handlar det om att uppdatera dll-er som ligger på testservern med de nya versionerna som jag har byggt ihop lokalt, men oavsett hur det ska göras är nyckelordet alltid: backup. Vi har en metod som vi använder för detta:

  1. Se till att det finns en dedikerad backup-mapp på servern
  2. Skapa en ny folder i den med dagens datum
  3. Inuti den nya foldern skapar du ytterligare två mappar, en som heter IN och en som heter OUT.
  4. I IN-mappen lägger du in de nya ändringarna som du gjort, och i OUT-mappen lägger du en kopia på den befintliga, fungerande miljön.

Sen är det bara att lägga in ändringarna i testmiljön, och om något går snett så kan man göra en rollback genom den backup man har i OUT-mappen.

 

Leave a Reply

Language: