DevOps og CI/CD‑automatisering
Endringer ut i produksjon uten drama
Testet, utgitt og mulig å reversere, slik at endringer når kundene en tirsdag ettermiddag i stedet for sent en fredagskveld.
Utvalgt arbeid som viser denne tjenesten.
-
Fornyet interne prosesser og sparte 8 000 timer
Fornyet interne prosesser og sparte ca. 8 000 timer ved å effektivisere programvarearkitektur, systemer og planlegging.
-
Effektiviserte CI/CD‑prosessene
Effektiviserte CI/CD og sparte ca. 4 000 timer med raskere og mer pålitelige utgivelser, slik at teamet kunne levere med trygghet.
-
Skrev 578 automatiseringsmål i go‑task
Skrev 578 automatiseringsmål i go-task for modusene native, Docker og HTTPS — linting, testing, database og produksjonssetting bak én verktøykjede.
-
Satte et krav om null advarsler på seks språk
Satte et kvalitetskrav om null advarsler for Go, TypeScript, SQL, Python, Shell og Markdown, håndhevet med pre-commit-hooks.
-
Automatiserte samarbeid i teamet
Automatiserte samarbeid og passord-, oppgave- og tidsstyring, og bygde et halvautomatisk system for prosjektpresentasjoner, som økte teamets produktivitet.
-
Bygde en testsuite for Go, SQL og nettleser
Bygde en lagdelt automatisert testsuite — 981 Go-tester, 543 frontend-spesifikasjoner og 494 SQL-atferdstester — med mutasjons-, egenskaps- og UU-kontroller.
-
Bygde repoets kontrollmotor med 268 kontroller
Bygde en kontrollmotor med 268 registrerte commit-kontroller, 277 lint-regler og 15 egne ESLint-regler, med 146 tester av selve kontrollene.
-
Drev et løpende program for sikkerhetsskanning
Etablerte et kontinuerlig sikkerhetsprogram — kodeskanning, DAST, avhengighetskontroller, SBOM, hemmelighetsskanning og låste actions — pluss 21 revisjoner.
-
Bygde en commit‑port med 22 lintere
Mekaniske innvendinger kommer fra en maskin før en commit finnes, og kvalitetsporten er den eneste som gjennomgår endringer i dette prosjektet.
-
Et sikkerhetsnett som ikke lenger koster en halvtime
Kuttet de automatiske kontrollene som vokter hver utgivelse, fra 27 til 10 minutter ved å kjøre dem i riktig rekkefølge og flere samtidig.
-
Lintet selve kvalitetsporten på 10 242 linjer
Den største og mest bærende koden i repoet er nå formatert, lintet og typekontrollert, med tretten funn rettet og null undertrykkinger.
-
Holdt generatoren til 964 tester og 92 %
Pipelinen kan kjøres på nytt mot en database i drift uten frykt, og det er det som i det hele tatt gjør trinnvist innholdsarbeid mulig.
-
Aktiverte alle linterregler som feil
Linteren kjører med full styrke og null funn, og hvert avvik er dokumentert på linjen der det tas.
-
Skrev tester for selve kontrollverktøyene
Hvert kontrollskript i prosjektet har nå en test som beviser at det feiler på dårlige inndata, og assertene for intervaller leser fra sannhetskilden.
-
Fant at hookene og porten var uenige
Hooken og porten kjører beviselig de samme kontrollene, og prosakontrollene kjører nå ved hver commit.
-
Skrev en parser som verifiserer hvert FFI‑kall
Den feiltypen som ga den opprinnelige krasjen, kan ikke komme tilbake, fordi en utdatert referanse nå er en byggefeil og ikke en kjøretidsfeil.
-
Fikk testsuiten ned i 8,9 sekunder
Suiten gikk fra seks tester over seksti sekunder — 74 sekunder veggklokketid — til 135 tester som besto på 8,9, og dermed ligger den innenfor vinduet der den…
-
Holdt 4 repoer til én historikkstandard
Fire repoer deler ett historikkformat og én instruksjonsstruktur, og begge håndheves av hooks i stedet for av disiplin.
Er dette arbeidet du trenger gjort, er neste skritt en samtale.
Fortell oss problemet, så sier vi ærlig fra om vi er de rette folkene.