Есть полу-продакшн проект. Тоесть он должен хорошо работать, но делается на энтузиазме ну и от фейла никто не пострадает. Полет мысли (незнание как обычно это делают) привел меня к одному интересному решению.
При запуске mvn jetty:run естественно собирается проект и запускается во встроеном сервере. Все работает, собсно так и делаем в девелопменте. А что если на продакшн сервере присобачить к этому еще git pull и в качестве переменной передать необходимый коммит, который будет использован в качестве рабочего. И запускать продакшн сервер комадной типо
mvn jetty:run -Dour.project.commit=123456
Казалось бы удобнейшее решение. На сервере можно запросто выполнить такую комаду и ВСЕ, пускай работает. Никакой возни вообще ни с чем, никаких копирований файликов, вообще ничего кроме установки номера версии. Да хоть веб интерфейс к этому написать за полчасика.
Попахивает костыльностью что встроенный в мавен контейнер - не по джедайски совсем. Хотя отличий его работы кроме унаследованных переменных окружения не нашел.
Вот вопросы: Где костыли? Какие потенциальные проблемы? Как обычно достигают похожих результатов?