Sobes.tech
Senior

Jak dobrze rozumiesz zasady CI/CD?

sobes.tech AI

Odpowiedź od AI

CI/CD (Ciągła Integracja / Ciągłe Dostarczanie) to praktyka automatyzacji budowania, testowania i dostarczania oprogramowania.

Dogłębne zrozumienie obejmuje:

  • Ciągła Integracja (CI): automatyczna integracja zmian w wspólnym repozytorium, z uruchamianiem buildów i testów w celu wczesnego wykrywania błędów.
  • Ciągłe Dostarczanie (CD): automatyzacja wydawania nowych wersji oprogramowania na staging lub produkcję, z możliwością szybkiego cofnięcia.
  • Znajomość narzędzi (Jenkins, GitLab CI, GitHub Actions, Drone itp.) i umiejętność konfigurowania pipeline'ów pod projekt.
  • Praktyka pisania niezawodnych testów i monitorowania buildów.
  • Zrozumienie zasad infrastruktury jako kodu (IaC), konteneryzacji (Docker) i orkiestracji (Kubernetes) w celu automatyzacji wdrożeń.

Przykład prostego pipeline'u na GitHub Actions dla projektu w Go:

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

Ten pipeline automatycznie buduje i testuje kod przy każdym pushu.