CI/CD — Continuous Integration/Delivery
It A · STX · A-niveau · Systemudvikling og DevOps
💻 CI/CD — Continuous Integration/Delivery
CI (Continuous Integration): udviklere integrerer kode til shared repository flere gange dagligt. Automatiserede tests køres ved hvert commit for hurtigt at afsløre fejl.
CD (Continuous Delivery): software er altid deployment-klar — release til production er manuel beslutning.
CD (Continuous Deployment): automatisk deployment til production ved hvert godkendt commit.
CI/CD Pipeline (eksempel med GitHub Actions):
```yaml
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: pip install -r requirements.txt
- run: pytest
deploy:
needs: test
runs-on: ubuntu-latest
steps:
- run: ./deploy.sh
```
Tools: GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI.
Artifact: kompileret/bygget software-pakke (Docker image, JAR, wheel).
Testpyramiden: mange unit tests, færre integration tests, endnu færre E2E tests.
Infrastructure as Code (IaC): Terraform, Ansible — konfiguration i versionsstyring.
Deployment strategier: Blue-green (to produktionsmiljøer — skift traffic), Canary (gradvis udrulning til % af brugere), Rolling update.
Centrale begreber
- uses: actions/checkout@v3
- run: pip install -r requirements.txt
- run: pytest
- run: ./deploy.sh
Læringsmål
- Redegøre for principperne bag CI/CD
- Forklare hvordan automatiserede pipelines understøtter softwareudvikling
- Give eksempler på CI/CD-værktøjer
Sådan kan du arbejde med emnet
- Beskriv, hvad en CI/CD-pipeline er, og hvad de typiske trin i pipelinen er
- Forklar, hvad der er forskellen på Continuous Delivery og Continuous Deployment
- Diskutér, hvad der er forudsætningerne for at CI/CD giver mening i et team
Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis