DevOps og CI/CD
Bygg, tester og utrulling som går av seg selv — slik at teamet kan levere ofte, trygt og uten manuelle steg som bare én person kan.

Verktøy og rammeverk vi bruker
- Azure DevOps Pipelines
- GitHub Actions
- Docker
- docker-compose
- Azure Container Registry
- Vercel
- Fly.io
- Caddy
- systemd
- Xcode- og Gradle-signering
- TestFlight
- Google Play
- Firebase App Distribution
- GitVersion
- SonarQube
- CodeQL og GitHub Advanced Security
- Husky og pre-commit
- Unleash
- OpenTelemetry
- Application Insights
- Grafana
- Microsoft Teams
DevOps som gjør leveransene kjedelige
Når en release krever en sjekkliste, en bestemt person og en rolig fredag, blir det levert sjeldnere enn det burde. Vi bygger pipelines som gjør at bygg, tester og utrulling skjer likt hver gang. Vi har jobbet med flere hundre YAML-pipelines og maler i Azure DevOps for en stor plattform, og med GitHub Actions, Vercel og Fly.io i mindre prosjekter.
Vi har også bygget en intern bot som sender varsler om pull requests, deploys og releaser til Microsoft Teams, slik at teamet ser hva som skjer uten å følge med i flere verktøy.
Valg vi tar når vi designer CI/CD-pipelines
En pipeline er kode som hele teamet er avhengig av, og den fortjener samme omtanke som applikasjonen. Dette er valgene vi oftest tar:
- Bygg én gang, rull ut mange ganger. Det samme artefaktet eller container-imaget flyttes fra test til produksjon, i stedet for å bygges på nytt per miljø.
- Delte maler fremfor kopiering. Felles steg for bygg, test og utrulling ligger i versjonerte maler i Azure DevOps eller gjenbrukbare workflows i GitHub Actions, slik at en forbedring havner i alle pipelines samtidig.
- Føderert identitet i stedet for lagrede hemmeligheter. Workload identity federation med OIDC lar pipelinen logge inn i Azure uten nøkler som må roteres.
- Rask tilbakemelding på pull requests. Linting, enhetstester og sikkerhetsskanning kjører på hver endring, mens tyngre integrasjons- og lasttester kjøres før produksjon.
- Versjon fra Git. GitVersion utleder versjonsnummeret fra historikken, så ingen trenger å huske å oppdatere det.
Målet er at en ny tjeneste får en fungerende pipeline ved å ta i bruk eksisterende maler, ikke ved å skrive alt fra bunnen.
CI/CD for apper, tjenester og egne servere
Mobilapper har egne behov. Vi automatiserer signering i Xcode og Gradle og distribusjon til TestFlight, Google Play-spor og Firebase App Distribution, slik at testere og brukere får nye versjoner uten manuelle opplastinger.
Ikke alt trenger en stor skyplattform. For mindre tjenester drifter vi containere på en VPS med Caddy, systemd, backup og deploy-webhooks, eller på Fly.io. Vi leverer også egen åpen kildekode som Docker-image og StartOS-pakke, slik at andre kan kjøre den selv.
Typiske oppdrag
CI/CD fra bunnen av
Vi setter opp bygg, tester og utrulling i Azure DevOps eller GitHub Actions, med godkjenning før produksjon der det trengs.
Automatiserte app-releaser
Vi automatiserer signering og distribusjon for iOS og Android, med TestFlight, Google Play-spor og Firebase App Distribution.
Containere og enkel drift
Vi pakker tjenester i Docker og drifter dem i Azure, på Fly.io eller på egen VPS med Caddy, systemd, backup og deploy-webhooks.
Kvalitet og innsyn
Vi legger inn kodeanalyse, sikkerhetsskanning, feature flags og overvåking, slik at teamet ser hva som skjer og kan rulle ut gradvis.
Relevant erfaring
Prosjekter og åpen kildekode der teknologien er brukt i praksis.

AI-assistent som gjennomgår kode og holder teamet oppdatert
Vi utviklet en TypeScript-tjeneste på Azure som varsler om pull requests, utrullinger og app-releaser i Teams, og som gjennomgår kodeendringer med språkmodeller fra Azure AI Foundry.

Canary: varsling når bitcoin i kaldlagring flytter seg
Vi har utviklet Canary, en selvhostbar og skybasert overvåkingstjeneste for bitcoin med backend i Rust og frontend i Next.js, med varsler via ntfy, Nostr, e-post og SMS.

Riktige åpningstider i Google og Apple Maps for hundrevis av butikker
Vi utviklet et .NET-verktøy på Azure som synkroniserer åpningstider for hundrevis av butikker til Google Bedriftsprofil og Apple Maps, med kontroll før hver oppdatering og rapport over avvik.
Åpen kildekode
- canary
Selvhostbar Bitcoin-overvåking levert som Docker-image og StartOS-pakke.
Vanlige spørsmål
Bruker dere Azure DevOps eller GitHub Actions?
Begge. Vi har jobbet med flere hundre YAML-pipelines og maler i Azure DevOps, og bruker GitHub Actions i mange mindre prosjekter. Vi følger det teamet allerede bruker der det fungerer.
Kan dere automatisere publisering av mobilapper?
Ja. Vi setter opp signering i Xcode og Gradle, versjonering med GitVersion og automatisk distribusjon til TestFlight, Google Play og Firebase App Distribution.
Hvordan ruller dere ut endringer trygt?
Med automatiserte tester, godkjenning før produksjon, deployment slots og feature flags i Unleash, slik at nye funksjoner kan slås på gradvis og av igjen ved behov.
Trenger vi Kubernetes?
Ofte ikke. Mange løsninger klarer seg godt med Azure App Service, Container Apps, Fly.io eller en enkel VPS. Vi anbefaler det enkleste oppsettet som dekker behovet.
Hvor raskt kan dere starte?
Ta kontakt med en kort beskrivelse av behovet, så svarer vi med en vurdering av omfang og når vi kan bidra.
Relaterte teknologier
Del av tjenesten: Backend og integrasjoner
Microsoft Azure
Arkitektur, infrastruktur som kode og drift i Azure, fra enkeltstående tjenester til plattformer med mange miljøer.
Les merTypeScript og Node.js
Backend-tjenester, integrasjoner og interne verktøy i TypeScript og Node.js, fra REST-API-er til automatisering av bygg og release.
Les mer.NET og C#
API-er, mikrotjenester og integrasjoner i C# og .NET, fra nye tjenester til modernisering av eldre kodebaser til .NET 10.
Les merTrenger dere hjelp med DevOps og CI/CD?
Fortell kort om produktet, teamet eller systemet. Vi svarer med et konkret forslag til neste steg — enten det er en hel leveranse, senior kapasitet i teamet eller tekniske råd.
- Telefon
- 920 50 946
- Sted
- Oslo, Norge