Вопрос

Я большой поклонник Capistrano, но мне нужно разработать сценарий автоматического развертывания для магазина только на Java. Я смотрел на Ant и Maven, и они, похоже, не слишком хорошо ориентированы на удаленное администрирование, как Capistrano - они, кажется, гораздо больше сосредоточены на простом создании и упаковке приложений. Есть ли лучший инструмент там?

Это было полезно?

Решение

Я не думаю, что есть приложение, похожее на Capistrano для веб-приложений Java, но это не должно мешать вам использовать его (или альтернативы, такие как Fabric) для развертывания ваших приложений. Как вы уже сказали, Ant больше заменяет GNU Make, а Maven - это в первую очередь приложение для управления компоновкой / зависимостями.

Поскольку веб-приложения Java благодаря контейнеру .war меньше зависят от внешних библиотек, вы можете (в зависимости от сервера приложений) развернуть приложение так же просто, как выполнить простой HTTP-запрос PUT.

Но если вам требуются дополнительные действия, Fabric работает очень хорошо для меня до сих пор, и я предполагаю, что Capistrano также предлагает общие команды shell-команды, put и get. Так что я бы не стал долго искать альтернативу, если то, что у вас уже есть, работает: -)

Другие советы

Я думаю, что этот контроллер (см .: http://controltier.org ) - это то, что вы ищете. Хотя controltier не обязательно должен использоваться исключительно для развертывания Java.

См. этот отрывок из документации (см. ). документация уровня управления ):

  

ControlTier - это то же самое, что Capistrano, Fabric или Func?

     

В своих наиболее фундаментальных понятиях   ControlTier, Capistrano, Fabric и   Func - похожие инструменты. Мы бы   Обязательно позвоните Capistrano, Fabric,   и Func Basic Диспетчеризация команд   Каркасы.

     

Тем не менее, ControlTier, по   дизайн, выходит далеко за рамки того, что эти   другие инструменты предоставляют. Автоматизация   библиотеки и веб-инструменты, которые   ControlTier предоставляет разработанные для   позволяют создавать полноценные системы автоматизации   готов к использованию предприятием или   крупные команды веб-операций.   Есть также такие функции, как   обработка ошибок и централизованное ведение журнала   которые просто не входят в сферу других   инструменты диспетчеризации команд.

     

Кроме того, Capistrano - это инструмент на основе Ruby.   что в первую очередь ориентировано на потребности   сообщества Ruby on Rails.   ControlTier, хотя и написан на Java,   не требует от вас знания Java   используй это. На самом деле, вы можете использовать все, что угодно   скриптовые языки вы   комфортно (включая рубин).   ControlTier пытается быть языком   и платформа (Linux, Unix, Windows,   и т. д.) как можно более нейтральным.

На моей работе мы используем Capistrano исключительно для развертывания всех наших Java-приложений. Это определенно возможно.

Я использую рецепт capistrano для создания dspace (Java-приложение, которое в свою очередь использует maven) из источника: Установка dspace с использованием capistrano

Capistrano может развернуть все основные веб-приложения. Развертывания для разных языков практически одинаковы:

<Ол>
  • обновить код
  • отправить код на рабочий сервер
  • подготовить файлы конфигурации для этого развертывания
  • перезагрузите сервер. (тонкий, nginx, tomcat)
  • в моей компании мы используем Capistrano для развертывания приложений java, Vuejs, php, ruby, python.

    Что интересно, идея Capistrano о репо предполагает, что вы имеете дело с SCM (Source Control Manager). Структура на сервере и связанная с ним версия приложения работают с источником приложения. Это имеет смысл для интерпретируемого языка.

    В скомпилированном языке, таком как Java, управление версиями и ветвление происходит еще до развертывания, и к тому времени, когда приложение скомпилировано и собрано, система управления исходным кодом уже забыта, и в результате получится версионный файл jar или tar приложение. Обычно этот архив (jar + config) публикуется в хранилище артефактов Maven, например, в Nexus или Artifactory.

    Удивительно, но этот репозиторий артефактов отлично подходит к репозиторию Capistrano. Вместо SCM мы можем рассматривать этот тарбол как SCM (источник для версии). Учитывая это, я реализовал плагин Capistrano SCM для репозиториев артефактов Maven . Это новое, но работает довольно хорошо.

    Он объединяет наши проекты Ruby и Java в одном инструменте, и, что наиболее важно, он привносит мощь SSHKit Capistrano и повышает эффективность наших проектов Java.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top