Что интересно, идея Capistrano о репо предполагает, что вы имеете дело с SCM (Source Control Manager). Структура на сервере и связанная с ним версия приложения работают с источником приложения. Это имеет смысл для интерпретируемого языка.
Однако в скомпилированном языке, таком как Java, управление версиями и ветвление происходит до развертывания, и к тому времени, когда приложение скомпилировано и собрано, система управления исходным кодом уже забыта, и в результате получится версионный jar или tar для хранения. приложение. Обычно этот архив (jar + config) публикуется в хранилище артефактов Maven, таких как Nexus или Artifactory.
Удивительно, но этот репозиторий артефактов очень хорошо отображается на репозитории Capistrano. Вместо SCM мы можем рассматривать этот тарбол как SCM (источник для версии). Имея это в виду, я реализовал плагин Capistrano SCM для репозиториев артефактов Maven . Это новое, но работает довольно хорошо.
Он объединяет наши проекты Ruby и Java в одном инструменте, и, что наиболее важно, он привносит мощь SSHKit Capistrano и рейка в наши проекты Java.