Что такое CI/CD/CD
Continuous integration (непрерывная интеграция) - все изменения, вносимые в код, объединяются в центральном репозитории (операция называется «слияние»). Слияние происходит несколько раз в день, и после каждого слияния в конкретном проекте срабатывает автоматическая сборка и тестирование.
Непрерывная интеграция (Continuous Integration/CI) - методология разработки и набор практик, при которых в код вносятся небольшие изменения с частыми коммитами.
Цель CI — обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений.
Непрерывная поставка (Continuous Delivery/CD) - основывается на автоматизации сборки и тестирования, которую вводит непрерывная интеграция. Она предполагает перевод ручных шагов, необходимых для выпуска сборки приложения в продакшн, на автоматизированный процесс.
Непрерывное развёртывание (Continuous Deployment/CD) - после автоматизации релиза остаётся один ручной этап: одобрение и запуск развёртывания в продакшен. Практика непрерывного развёртывания упраздняет это, не требуя непосредственного утверждения со стороны разработчика. Все изменения развёртываются автоматически.
Как интегрируется автоматическое тестирование в CI?
Непрерывная интеграция и непрерывная поставка нуждаются в непрерывном тестировании. Непрерывное тестирование часто реализуется в виде набора различных автоматизированных тестов (регрессионных, производительности и других), которые выполняются в CI/CD-конвейере.
Как настроить Job или Pipeline на знакомом вам CI-инструменте?
Jenkins:
Какие инструменты для создания репорта после выполнения автоматических тестов вы знаете?
Какую информацию должен содержать отчет о выполнении автоматических тестов?
Отличие job от pipeline
Цель CI
обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений.
Где начинается непрерывная поставка?
Непрерывная поставка начинается там, где заканчивается непрерывная интеграция. Она автоматизирует развертывание приложений в различные окружения: