CI/CD
Continuous Integration и Continuous Delivery/Deployment — набор практик для автоматизации сборки, тестирования и деплоя изменений кода.
Определение
CI/CD объединяет две практики: Continuous Integration (автоматическая сборка и тестирование кода при каждом коммите) и Continuous Delivery/Deployment (автоматический деплой проверенных изменений в staging или production). CI/CD пайплайн обычно включает этапы: checkout кода, установка зависимостей, линтинг, тестирование, сканирование безопасности, сборка и деплой. Популярные инструменты: GitHub Actions, GitLab CI, Jenkins, CircleCI.
Почему это важно
CI/CD снижает риски деплоя, обнаруживая проблемы раньше и деплоя меньшие изменения чаще. Команды, использующие CI/CD, деплоят в 200 раз чаще с в 3 раза меньшим процентом сбоев изменений по данным DORA. Это обеспечивает быструю итерацию и ускоряет выход на рынок.
Пример
Разработчик пушит код в GitHub. CI/CD пайплайн автоматически запускает тесты, выполняет сканирование безопасности с diffray, собирает Docker-образ и деплоит в staging — всё за 10 минут.