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
- Test — CI-image importeres til ACR med tag
test. Write/delete-beskyttelse settes. - 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)