В качестве шаблона был взят проект из репозитория https://gitflic.ru/project/antonaleks605/ci-pipeline-practice-web-calculator.

Данный проект реализует CI/CD конвейер, конвейер состоит из трёх стадий:
  1. unit_tests - Выполнение юнит тестов, всего их 4.
  2. build - создания docker-образа, в проекте используется образ Docker in docker (dind) и перенос его в репозиторий Docker hub
  3. deploy - деплой приложения (dind)

Процесс выполнения задания:

  1. Проведение юнит тестов и функциональных тестов через сервис Selenium. Перед запуском конвейера локально были пройдены юнит тесты и функциональные тесты (по 4-е теста, всего 8 тестов). Скрипт для функционального теста был немного подкорректирован - был указан новый путь к драйверу и проведены настройки для проверки тестов в яндекс браузере.

  2. Установка runner и настройка агентов CI/CD. Далее проводилась установка runner-а и настройка агента CI/CD. Для правильного функционирования runner-а был создан и настроен файл конфигурации. Запуск runner-а производился на ОС Windows и с облачного сервиса Play with docker. Для создания и деплоя docker-образа был использован облачный сервис. Настройка CI/CD

  3. Привязка репозитория с Docker-hub. Был зарегистрирован аккаун в docker-hub и создан репозиторий web-calculator - https://hub.docker.com/repository/docker/artembednarskij/web-calculator. Данные docker-hub были занесены в переменные окружения.

  4. Создание скрипта CI/CD. Весь скрипт CI/CD написан в файле gitflic-ci.yaml. Все этапы жизни приложения были описаны тремя этапами, которые идут последовательно. В процессе написания кода все этапы были протестированны множество раз, пока не достигли статуса “Успех”.

После успешной стадии build мы можем увидеть изменения в репозитории Docker hub: Docker hub

Работа runner-а в облачном сервисе Play with docker: Play with docker

Веб страница в Play with docker: Веб страница в docker

Популярные проекты
Python Обновлен 2 дня назад