Аудит и доработка системы docker контейнеров под управлением jenkins
Есть сервер, написанный на C++. Есть git репозитарий с исполняемым
файлом сервера и sql файлом обновляющий базу MySql, которой пользуется
этот сервер. Нужно доработать систему контейнеров, построенной на
docker, которая должна в конце выглядеть следующим образом:
- jenkins
- worker (docker in docker)
- MySQL
- server #1
- server #2
Из вышеописанного уже есть скрипты, создающие структуру контейнеров,
описанных выше, но с одним сервером. Есть задача в Jenkins, которая обновляет базу и сервер. Это всё
нужно проверить, просмотреть скрипты, чтобы не было косяков, и
доработать под вышеописанную задачу с двумя серверами.
Принцип работы следующий: jenkins смотрит за изменением git репозитария,
если он изменился, то обновляет базу MySQL с помощью скрипта, который
лежит в этой репе; далее, стопает первый сервер, копирует новый
исполняемый файл, в контейнер и страртует его снова; далее, стопает и
обновляет второй сервер тем же биранрником (нужно, чтобы постоянно хотя
бы один сервер был в онлайне).
Развертка на новом vps должна быть с помощью (в идеале) одного запуска скрипта, который сбилдит все Dockerfile и запустит всё это дело. Дальнейшее управление - с помощью jenkins (автоматическое обновление, бэкап, старт/стоп).
Также нужно настроить бэкап базы MySQL (если можно это сделать в реальном времени - хорошо).
Дополнительное, но не обязательное: есть две базы MySQL - одна тестовая,
другая в работе. Нужно настроить процесс обновления, чтобы структуру
тестовой базы накладывать на рабочую с сохранением всех данных рабочей.
-
70 Добрый день. Можем пообщаться по вашему проекту. Есть опыт работы с докером и дженкинсом. Так как проекты такого рода индивидуальны требуется уточнить детали. skype: perepustdmitriy