CI Flashcards

1
Q

Что такое CI/CD/CD

A
  1. Планирование
  2. Написание кода
  3. Сборка
  4. Тестирование
  5. Релиз
  6. Развертывание
  7. Поддержка и мониторинг

Continuous integration (непрерывная интеграция) - все изменения, вносимые в код, объединяются в центральном репозитории (операция называется «слияние»). Слияние происходит несколько раз в день, и после каждого слияния в конкретном проекте срабатывает автоматическая сборка и тестирование.

  1. Слияние
  2. Компиляция
  3. Упаковка в docker
  4. Автотесты

Непрерывная интеграция (Continuous Integration/CI) - методология разработки и набор практик, при которых в код вносятся небольшие изменения с частыми коммитами.
Цель CI — обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений.

Непрерывная поставка (Continuous Delivery/CD) - основывается на автоматизации сборки и тестирования, которую вводит непрерывная интеграция. Она предполагает перевод ручных шагов, необходимых для выпуска сборки приложения в продакшн, на автоматизированный процесс.

Непрерывное развёртывание (Continuous Deployment/CD) - после автоматизации релиза остаётся один ручной этап: одобрение и запуск развёртывания в продакшен. Практика непрерывного развёртывания упраздняет это, не требуя непосредственного утверждения со стороны разработчика. Все изменения развёртываются автоматически.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Как интегрируется автоматическое тестирование в CI?

A
  1. Планирование
  2. Написание кода
  3. Сборка
  4. Тестирование
  5. Релиз
  6. Развертывание
  7. Поддержка и мониторинг

Непрерывная интеграция и непрерывная поставка нуждаются в непрерывном тестировании. Непрерывное тестирование часто реализуется в виде набора различных автоматизированных тестов (регрессионных, производительности и других), которые выполняются в CI/CD-конвейере.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Как настроить Job или Pipeline на знакомом вам CI-инструменте?

A

Jenkins:

  1. Создание нового job или pipeline
  2. Конфигурация и настройка задачи
  3. Настройка git
  4. Настройка запуска кода
  5. Добавление пост-сборочных действий (отчёт, уведомления)
  6. Настройка параметров и переменных
  7. Сохранение и запуск задачи
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какие инструменты для создания репорта после выполнения автоматических тестов вы знаете?

A
  1. Allure Reports
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Какую информацию должен содержать отчет о выполнении автоматических тестов?

A
  1. Список тестов
  2. Шаги выполнения
  3. Статус тестов и шагов
  4. Время выполнения
  5. Логи
  6. Скриншоты
  7. Видео
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Отличие job от pipeline

A
  1. Job - точечная задача
  2. Pipeline - последовательность job-ов
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Цель CI

A

обеспечить последовательный и автоматизированный способ сборки, упаковки и тестирования приложений.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Где начинается непрерывная поставка?

A

Непрерывная поставка начинается там, где заканчивается непрерывная интеграция. Она автоматизирует развертывание приложений в различные окружения:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly