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