Har bygget GitHub Actions CI/CD‑pipelines
Har bygget GitHub Actions CI/CD‑pipelines med et distroless frontend‑image til produktion og promovering gennem flere miljøer.
Arbejdet udført: 2025

Foto: WorldInMyEyes / Pixabay 
Foto: Tho-Ge / Pixabay
én pipeline, tre miljøer, et distroless image
Situation. Udgivelser bør ikke afhænge af, at nogen husker trinnene, og det, der ender med at køre i produktion, bør ikke være en oppustet container til alle formål med en shell og en package manager, den aldrig får brug for — det er bare angrebsflade, der ligger der uden grund.
Opgave. Gør vejen fra commit til kørende kode i Azure automatisk, og hold produktionsimages så små og stramt låst, som hver workload tillader.
Handling. Byggepipelinen er GitHub Actions. Separate workflows står for kodens kvalitetskontrol, testene og udrulningerne til de enkelte miljøer, med CodeQL, dependency review og et SBOM‑trin ved siden af, så intet når et miljø uden først at have bestået tjekkene. Alle images er multi‑stage‑builds, og base‑imaget for hver del blev valgt ud fra dens egne behov i stedet for som ét fælles valg: frontenden leveres på et distroless image (gcr.io/distroless/cc‑debian13 — ingen shell, ingen package manager), Go‑API’et på en slank Alpine og database‑imaget på postgres‑slim. Promovering flytter et build gennem miljøerne ad en fastlagt rute og ikke i hånden.
Resultat. Releases holdt op med at være et omhyggeligt manuelt ritual og blev en rutinemæssig, kedelig hændelse, hvilket er præcis, hvad man ønsker sig af releases. Frontenden i produktion kører på stort set det mindst mulige, tjekkene fanger problemerne, før de når frem, og “udrulning” er noget, byggepipelinen klarer, og ikke noget, nogen sveder sig igennem.
Se tilbage på Har provisioneret Azure‑infrastruktur som kode. Læs videre: Har skrevet 578 go‑task‑automatiseringsmål. Eller tag et kig på hele porteføljen.
Ét stykke af en længere fortegnelse — og det hele ligger her på sitet.
Hver post er skrevet på samme måde: situationen, opgaven, hvad vi gjorde, og hvad der ændrede sig.

