Это просто с Maven в мире Java
mvn clean deploy
В нашей конфигурации это выполняет все необходимое построение файла WAR (при необходимости добавляя JAR-зависимости), развертывание на веб-сервере dev и создание тестовых данных в базе данных dev. После этого Maven выполняет всестороннее функциональное тестирование через SeleniumRC для проверки работоспособности приложения.
Эта единственная команда полностью развертывает приложение на кластере серверов dev, поэтому другие разработчики могут сразу же работать с ним (при условии, что оно прошло тесты). Это необычно для развертывания dev, так как разработчики убедились, что оно работает локально mvn clean install
.
Затем артефакт снимка (WAR) копируется в репозиторий Maven для совместного использования с другими разработчиками (согласно стандартному deploy
поведению Maven ).
Хорошо, но вы только что развернули снимок для dev, как насчет тестирования и производства?
Распределение на тестовый и (более поздние) производственные серверы осуществляется через процесс выпуска Maven, который мы хотим обрабатывать вручную, чтобы гарантировать, что кто-то отслеживает любые подозрительные результаты. Тестеры работают только с выпущенными артефактами, а не со снимками.
После того, как он выпущен, используется простой сценарий сборки для SFTP-файла WAR на кластер тестовых серверов, опять же, когда кто-то наблюдает за процессом, чтобы убедиться, что все в порядке.
Наконец, после того, как все тестировщики будут довольны, неизмененный файл WAR передается по SFTP до отказоустойчивого кластера производственных серверов, когда кто-то внимательно следит за ситуацией и в случае аварии получает немедленную позицию отката.