Что такое CI/CD

«Что такое CI/CD» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CI/CD (Continuous Integration/Continuous Delivery) — это практика автоматизации процессов интеграции кода, тестирования и доставки в production.

CI (Continuous Integration):

  • Разработчики часто сливают изменения в общую ветку (main/master).
  • Каждый коммит запускает автоматические тесты и сборку.

CD (Continuous Delivery/Deployment):

  • Delivery: Готовый код автоматически разворачивается в staging-среде.
  • Deployment: Автоматический деплой в production (если тесты пройдены).

Пример настройки в .github/workflows/go.yml:

name: Go CI  
on: [push]  
jobs:  
  build:  
    runs-on: ubuntu-latest  
    steps:  
      - uses: actions/checkout@v2  
      - name: Run tests  
        run: go test ./...  
      - name: Build  
        run: go build -v ./...  

Плюсы:

  • Раннее обнаружение багов.
  • Быстрый и безопасный деплой.
  • Минимизация ручных операций.

Видео-ответы