# 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.

2025

**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.

---

- Rolle: DevOps‑ingeniør
- Kategorier: [DevOps](https://engineer.company/da/categories/devops/), [Cloud](https://engineer.company/da/categories/cloud/), [Containere (Docker/Kubernetes)](https://engineer.company/da/categories/containers/), [Automatisering & CI/CD](https://engineer.company/da/categories/automation/), [Driftssikkerhed & backup](https://engineer.company/da/categories/reliability/), [Sikkerhed](https://engineer.company/da/categories/security/), [Test & QA](https://engineer.company/da/categories/testing/)
- Ydelser: [DevOps & CI/CD‑automatisering](https://engineer.company/da/services/devops-cicd/), [Containerisering & orkestrering](https://engineer.company/da/services/containerization/)

<https://engineer.company/da/portfolio/built-github-actions-ci-cd-pipelines/>
