У меня есть автоматизированный процесс развертывания приложения Java, где в настоящее время я собираю приложение на компьютере сборки, проверяю сборку в scm и заставляю производственный компьютер извлекать артефакт сборки (который является zip) и через ant переместите класс и конфигурационные файлы туда, где они должны быть.
Я видел другие стратегии, в которых производственная машина извлекает исходный код из scm и создает его сама.
Что мне не нравится в первом подходе, так это то, что, если я собираюсь для производства, вместо того, чтобы ставить, разрабатывать или что-то еще, я должен вручную указать env в сборке. Если бы за это отвечал целевой сервер, в сборке было бы меньше мысли и трений. Тем не менее, мне также нравится использовать ту же сборку, что и при тестировании при постановке.
Итак, я предполагаю, что мой вопрос заключается в том, предпочтительнее ли скопировать уже собранную / уже протестированную версию приложения в рабочую или сделать повторную сборку приложения после его тестирования.