Innhold
1 Formål med deployeringsrutine
- Minst mulig nedetid. Ideelt sett skal ei oppgradering berre ta nokre sekund, og maks 15 minutt.
- Færrast mulig feil ved prodsetting.
- Mest mulig automatisering. På sikt ønsker vi 100% automatisering.
2 Arbeidsdeling mellom drift og utvikling
- Cerebrum utvikling har ansvar for å stadig forbedre Cerebrum, og med det endre oppførselen. Dette skaper konsekvenser, og vil kreve tilpassingar i miljøet.
- Cerebrum drift har ansvar for at Cerebrum-miljøet er stabilt oppe og køyrer.
Sjå Grensegang mellom drift og utvikling for meir detaljar.
3 Prinsipp
- Kommunikasjon: Drift og utvikling må kommunisere godt. Det meste kan takast ansikt til ansikt.
- Pragmatisk: Rutiner er berre til for å gjere prodsettinga meir effektiv. Ein kan gå utanom rutina ved behov, til dømes ved å koordinere i samme rom.
- Automatisering: Vi ønsker å gå mot kontinuerlig oppgradering (CI), og automatiserer det vi kan. Manuelle endringar auker risikoen for feil.
4 Køyrereglar
Cerebrum utvikling skal gjere så mykje som mulig klart før oppgraderinga, så drift treng å gjere minst mulig.
Kodeendringar må vere mest mulig bakoverkompatible til versjonen som køyrer i produksjon. Dette for å unngå feil dersom konfigurasjonen ikkje er oppdatert.
For å unngå dette:
- Feature toggles for å slå av og på ny funksjonalitet, td. for eit begrensa utvalg personar.
- Branching for å isolere store endringar fram til Cerebrum drift er klar til å utføre tilpassingane.
5 Rutiner
Hovudregelen ved prodsetting er: Ta kontakt med Cerebrum drift, enten via RT eller med vanlege tasks i Jira, for å informere om kva som trengs. Drift vil då prioritere det på lik linje med alt anna arbeid dei har.
Sjå meir info om dette i dokumentet Cerebrum produksjonssetting.
Vi har eit unntak, og det er for prodsettingssaker som er enkle, men som likevel krever litt arbeid. Sjå lenger ned.
5.1 Deployment-rutina
For å forenkle prodsettinga har vi ei enkel deployment-rutine. Krav til når deployment-rutina kan brukast:
- Ingen behov for fleire avklaringar med andre.
- Ingen behov for meir koordinering med andre.
- Prodsettinga vil ta maks 15 minuttar, og er ferdig etter det.
- Prodsettinga treng ikkje vente, men kan prodsettast her og no.
- TODO: Skal konfigurasjon vere på plass? Skal utviklarane kunne endre i cerebrum_config? Må diskuterast.
På sikt er det ønskeleg at denne rutina kan automatiserast fullt ut.
Er du i tvil? Send inn ei vanleg sak til Cerebrum drift.