Sobes.tech
Senior

Ako dobre rozumiete princípom CI/CD?

sobes.tech AI

Odpoveď od AI

CI/CD (Nepretržitá integrácia / Nepretržitá dodávka) je prax automatizácie zostavovania, testovania a doručovania softvéru.

Hlboké pochopenie zahŕňa:

  • Nepretržitá integrácia (CI): automatická integrácia zmien do spoločného repozitára, s behom zostáv a testov na včasné odhalenie chýb.
  • Nepretržitá dodávka (CD): automatizácia vydávania nových verzií softvéru do staging alebo produkcie, s možnosťou rýchleho vrátenia.
  • Znalosť nástrojov (Jenkins, GitLab CI, GitHub Actions, Drone atď.) a schopnosť nastavovať pipeline podľa projektu.
  • Prax v písaní spoľahlivých testov a sledovaní zostáv.
  • Porozumenie princípom infraštruktúry ako kódu (IaC), kontajnerizácie (Docker) a orchestrácie (Kubernetes) na automatizáciu nasadzovania.

Príklad jednoduchého pipeline na GitHub Actions pre projekt v Go:

name: Go CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Nastaviť Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.18
    - name: Zostaviť
      run: go build ./...
    - name: Otestovať
      run: go test ./...

Tento pipeline automaticky zostavuje a testuje kód pri každom push-e.