DevOps инженер для настройки CI/CD

В рамках развития крупнейшего интернет-проекта в своей тематике требуется настроить Continuous Integration / Continuous Delivery решение и отработать workflow для программистов по тестированию и релизу нового функционала. Текущая конфигурация: один физический сервер Hetzner Dell R730 DX151 на OpenVZ, 4 Тб данных, посещаемость более 1 млн посетителей в месяц. Команда: руководитель разработки, 2 программиста, верстальщик, тестировщик. Ведём задачи в JIRA, код на github. Требуется придумать удобный для нас workflow и реализовать. Обязанности: - Спроектировать CI/CD решение и workflow для программистов совместно с руководителем разработки; - Подобрать используемые технологии. Вероятно что-то из: Docker, Docker Data Center, AWS/Heroku, Travis CI / CodeShip, SauceLabs. - Рассчитать наиболее выгодное решение: чтобы не переплачивать лишнего за облачные сервисы, но при этом и не реализовывать своими силами кучу велосипедов; - Реализовать workflow в рамках выбранных технологий. Требования: - Большой опыт в серверном администрировании linux-систем и использовании технологий виртуализации и облачных сервисов виртуализации. Условия: - Удалённая работа. Желательно возможность встретиться в Москве и обсуждать схему работы. - Работа проектая - т.е. требуется один раз спроектировать, реализовать, отладить и возможно сопровождать. - Требования к workflow: - Создание автоматического pull-request на github при изменении статуса задачи JIRA; - Проведение Code Review на github; - Уведомление тестировщика о необходимости начать работу над задачей по завершению CodeReview; - Возможность у тестировщика локально иметь на каждую ветку git отдельную виртуалку/docker-среду либо работа в облаке - Тестировщик будет дописывать код тестов для каждой ветки - Возможность для руководителя увидеть каждую ветку по отдельному URL-адресу в интернете (на отдельном поддомене) - Запуск приёмочных Selenium тестов перед релизом (вероятно через Sauce Labs). Возможность смотреть отчёты по тесту: как прошёл тест и code coverage. - Для программистов: возможность через какой-либо веб-интерфейс или при помощи специальных названий веток в git выложить свой релиз в продакшн своими силами, не имея доступа к SSH. - Штатная возможность после релиза откатиться на предыдущий релиз.