Skip to content

zZeleZz/devops-demo-service

 
 

Repository files navigation

Для удобства запуска создан script.sh Скрипт запускает сервис (web_app), Postgres и nginx, накатывает миграции, создает суперпользователя root с паролем Qwer!234 по-умолчанию (можно скрипту указать в качестве аргументов имя и пароль учетки суперпользователя, например ./script.sh admin 123)

Т.к. в задании ничего не сказано про хранение данных, то volumes создавать не стал (кроме nginx -- подтягивается файл конфигурации)

Nginx принимает запросы на 80, после чего проксирует их сервису web_app на 8000 порт, поэтому запускать в браузере нужно http://localhost/admin

Создан также пайплайн, которые проводит тестирование сервиса после каждого пуша в репозиторий, при удачном тестировании пушит его в https://hub.docker.com/r/zelez/devops-test с тэгом формируемым github.sha

Status of last deployment:

Задание

  1. Надо подготовить docker-compose.yml файл, который позволит собирать и запускать базу данных Postgres, выполнять все необходимые миграции и запускать сервис. Как результат этого шага я должен иметь возможность выполнить команду docker-compose build для сборки свежего образа сервиса. И docker-compose up для запуска сервиса. Посдле запуска в браузере по адресу http://localhost:8000/admin я должен увидить страницу с формой ввода логина и пароля. Порт на котором будет запущен сервис можете выбрать на ваше усмотрение.
  2. Надо реализовать CI процесс в Github для запуска тестов и в случае их успешного прохождения выполнить сборку docker образа. Если же тесты не прошли весь CI процесс должен падать с ошибкой.

Усложнения

  1. В качестве усложнения первого задания, запустить сервис с испоьзованием Nginx и созданием пользователя при старте docker-compose. В этом случае в форме ввода логина и пароля я смогу ввести данные и перейти в панель администратора.
  2. В качестве усложнения задания 2 настроить тегирование собираемого образа и задеплоить его в docker-hub (https://hub.docker.com/) в открытый репозиторий. В нем доступна бесплатная загрузка одного образа. Этого дотаточно для тестового задания.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 86.9%
  • Dockerfile 9.5%
  • Shell 3.6%