Gå til innhold

CI/CD⚓︎

Oversikt⚓︎

Kai bruker Azure DevOps Pipelines med to hovedpipelines:

graph LR
    Push[Push til main] --> CI[kai-agent-ci]
    CI --> Build[Bygg]
    Build --> Test[Test]
    Test --> Docker[Docker Build + Push]
    Docker --> CD[kai-agent-cd]
    CD --> TagTest[Tag: test]
    TagTest --> Approve[Godkjenning]
    Approve --> TagProd[Tag: prod]

CI-pipeline (kai-agent-ci.yaml)⚓︎

Trigges ved push til main i relevante stier (src/, tests/).

Steg:

Stage Beskrivelse
Build Restore, sjekk utdaterte NuGet-pakker (dotnet outdated --fail-on-updates)
Test Kjør tester med coverage (Cobertura), publiser resultater (TRX)
Build & Push Docker build + push til ACR (crenovakai), tagger: $(Build.BuildId) + latest

Utdaterte pakker blokkerer bygg

dotnet outdated --fail-on-updates feiler bygget hvis det finnes NuGet-pakker med tilgjengelige oppdateringer. Hold avhengigheter oppdatert.

CD-pipeline (kai-agent-cd.yaml)⚓︎

Trigges automatisk av CI-pipelinen.

Deploy-strategi: Tag-basert promotering

  1. Test — CI-image importeres til ACR med tag test. Write/delete-beskyttelse settes.
  2. Prod — Etter godkjenning importeres image med tag prod. Write/delete-beskyttelse settes.

Azure Container Apps / Web App er konfigurert med continuous deployment som automatisk plukker opp nye tags.

Miljøer⚓︎

Miljø Environment Godkjenning
Test kai-test Automatisk
Prod kai-prod Manuell godkjenning

Container Registry⚓︎

  • Registry: crenovakai.azurecr.io
  • Image: kai-agent
  • Tags: latest, test, prod, $(Build.BuildId)