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.