Есть проект, в котором несколько микросервисов. Запуск нужно производить в определенном порядке (сервер service discovery первым, базу данных вторым, итп)
Сборка будет производиться из двух интерфейсов: из командной строки, и из Jenkins. Сама сборка происходит с помощью Maven. Нужен скрипт или что-то подобное, что будет запускаться из этих сред и «делать все зашибись».
Очень важно чтобы она не была прибитая гвоздями к физическому уровню. Например, на тестовой среде она может разворачивать все в докеры или как душе угодно, а на проде ВНЕЗАПНО админы могут захотеть перетащить все в уже существующие enterprise application servers. (неисповедимы пути господни админов в последний день перед релизом).
При этом та часть, которая пускает сервера, должна быть интегрированной (легко интегрироваться) с sysvinit/initscripts и systemd, чтобы подчищать и переподнимать все в правильном порядке, если сервер внезапно перезагрузился, или если какой-то из сервисов в цепочке сегфолтнулся.
Какую систему развертывания и как правильно использовать в этом случае?