Sobes.tech
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.