Django + Docker, Continous Integration, Continuous Delivery

900 руб.за час • электронные деньги
17 июля 2017, 08:05 • 1 отклик • 37 просмотров
Имеется django-приложение, включающее в себя:
  • http-сервис
  • ряд очередей celery, разбитых на разные сервера и общающихся через RabbitMQ
  • Ряд задач, запускающихся по расписанию
Текущее состояние:
  • Часть сервисов уже завёрнута в docker-контейнеры
  • Образы для них собираются через посредство BitBucket Pipelines с собственным Docker Registry
  • Остальные сервисы просто управляются через supervisor
Наш разработчик, реализовавший перечисленное, перегружен задачами. Необходимо при его участии и под его контролем сделать следующее.
  • Закончить завёртывание всех сервисов в Docker
  • Наладить управление ими и лёгкий перенос сервиса с одного сервера на другой
  • Настроить мониторинг сервисов в Zabbix (при помощи нашего DevOps)
  • Выбрать и настроить сборку образов, поскольку Bitbucket Pipelines экономически нецелесообразны
  • Выбрать и настроить сервис Continuous Integration, который будет:
    • Прогонять unit-тесты
    • Измерять test coverage
    • Замерять метрики pep8, pylint, pyflakes, ...
  • Если билд в сервере CI проходит все проверки, то он автоматически развёртывается на месте назначения (либо на рабочие сервера, либо на staging).
Технологии:
  • Django 1.9
  • Python 2.7
  • PostgreSQL 9.5, replication
  • Debian, nginx, Memcached, MongoDB, RabbitMQ
Необходимо читать (и писать) документацию на английском. В случае успеха вероятно долгосрочное сотрудничество.