Senior
Kui hästi sa mõistad CI/CD põhimõtteid?
sobes.tech AI
Vastus AI-lt
CI/CD (Pidev integratsioon / Pidev kohaletoimetamine) on praktika tarkvara ehitamise, testimise ja tarnimise automatiseerimiseks.
Sügav mõistmine hõlmab:
- Pidev integratsioon (CI): muudatuste automaatne integreerimine ühisesse hoidlasse, ehituste ja testide käivitamine varajaseks vigade avastamiseks.
- Pidev kohaletoimetamine (CD): uute versioonide automaatne väljastamine staging või tootmiskeskkonda, võimalusega kiiresti tagasi pöörduda.
- Tööriistade (Jenkins, GitLab CI, GitHub Actions, Drone jms) tundmine ja suutlikkus konfigureerida pipeline vastavalt projekti nõuetele.
- Usaldusväärsete testide kirjutamise ja ehituste jälgimise praktika.
- Infrastruktuuri kui koodi (IaC), konteineriseerimise (Docker) ja orkestreerimise (Kubernetes) põhimõtete mõistmine, et automatiseerida juurutamist.
Lihtne pipeline näide GitHub Actions'is Go projekti jaoks:
name: Go CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Seadista Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Ehita
run: go build ./...
- name: Testi
run: go test ./...
See pipeline ehitab ja testib automaatselt koodi iga pushi korral.