Капистрано для Java? - PullRequest
       11

Капистрано для Java?

14 голосов
/ 08 октября 2008

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

Ответы [ 6 ]

14 голосов
/ 08 октября 2008

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

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

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

5 голосов
/ 02 декабря 2010

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

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

Является ли ControlTier таким же, как Capistrano, Fabric или Func?

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

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

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

2 голосов
/ 20 июля 2009

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

2 голосов
/ 11 февраля 2009

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

0 голосов
/ 20 августа 2018

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

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

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

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

0 голосов
/ 15 июня 2017

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

  1. код обновления
  2. отправить код на рабочий сервер
  3. подготовить файлы конфигурации для этого развертывания
  4. перезагрузите сервер. (тонкий, nginx, tomcat)

в моей компании мы используем Capistrano для развертывания приложений Java, Vuejs, PHP, Ruby, Python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...