Pergunta

Eu sou um grande fã de Capistrano, mas eu preciso para desenvolver um script de implantação automatizada para um Java-única loja. Eu olhei Ant e Maven e eles não parecem ser bem orientado para a administração remota do caminho Capistrano é - eles parecem muito mais focados em simplesmente construir e empacotar aplicativos. Existe uma melhor ferramenta para fora lá?

Foi útil?

Solução

Eu não acho que há uma Capistrano-like pedido de Aplicações Java Web, mas isso não deve realmente mantê-lo de usá-lo (ou alternativas como a tela) para implantar suas aplicações. Como você já disse, Ant é mais um substituto para o GNU make enquanto Maven é uma aplicação buildout / dependência de gerenciamento primário.

Como os aplicativos Java Web são graças ao recipiente .war menos dependente de bibliotecas externas, você pode (dependendo do seu servidor de aplicação) fazem implantar um aplicativo tão fácil quanto executar um simples HTTP PUT-request.

Mas se você precisar de medidas adicionais, Tecido tem funcionado muito bem para mim até agora e eu supor que Capistrano também oferece genéricos shell de comando, colocar e obter operações. Então eu não ficaria por muito tempo por uma alternativa se o que você já tiver funciona: -)

Outras dicas

Eu acho que controltier (ver: http://controltier.org ) é o que você está procurando. Embora controltier não precisa ser usado exclusivamente para implanta Java.

Veja este trecho da docs (ver: controle de documentação nível ):

é ControlTier o mesmo que Capistrano, tecido, ou Func?

Em seus conceitos mais fundamentais, ControlTier, Capistrano, tecido, e Func são ferramentas semelhantes. Casar definitivamente chamada Capistrano, Tecido, e Func básica Dispatching Command Frameworks.

No entanto, ControlTier, por design, vai muito além do que estes outras ferramentas fornecem. a automação bibliotecas e as ferramentas baseadas na Web que ControlTier fornece são projetados para deixá-lo a construir sistemas de automação completos pronto para uso por empresa ou equipes de operações web em larga escala. Há também recursos como de tratamento de erros e registro centralizado que só não estão no escopo de outra comando ferramentas de envio.

Além disso, Capistrano é uma ferramenta baseada em Ruby que é focado principalmente nas necessidades da comunidade Ruby on Rails. ControlTier, enquanto escrito em Java, não requer que você saiba Java para use-o. Na verdade, você pode usar qualquer linguagens de script que você está confortável com (incluindo ruby). tentativas ControlTier ser como linguagem e uma plataforma (Linux, Unix, Windows, etc ..) neutro possível.

No meu trabalho usamos Capistrano exclusivamente para implantar todos os nossos aplicativos Java. É definitivamente possível.

Eu uso uma receita Capistrano para a construção de dspace (a webapp java, que por sua vez usos maven) da fonte: Instalação dspace usando Capistrano

Capistrano poderia implementar toda a aplicação básica web. Implementações para o idioma diferente são quase os mesmos:

  1. código de atualização
  2. empurrar o código para servidor de produção
  3. preparar os arquivos de configuração para essa implantação
  4. reinicialização do servidor. (Fina, nginx, tomcat)

Na minha empresa, usamos Capistrano de java deploy, Vuejs, PHP, Ruby, aplicações Python.

O que há de interessante é que a idéia de Capistrano de um repo pressupõe que você está lidando com uma SCM (Source Control Manager). A estrutura no servidor e as versões dos associados do aplicativo funciona na fonte da aplicação. Isso faz sentido para uma linguagem interpretada.

Em uma linguagem compilada como Java, porém, o versionamento e ramificação vem antes da implantação e pelo tempo que o aplicativo é compilado e construído, o sistema de controle de origem já é deixado para trás e o que resulta é uma jarra ou tar versão, para conter a aplicação. Tipicamente esta tar (frasco + config) é publicada para um repositório artefato Maven como Nexus ou Artifactory.

Surpreendentemente, este repo artefato mapeia para o Capistrano repo muito bem. No lugar do SCM, podemos tratar este tarball como o SCM (a fonte a ser versionadas). Com isto em mente, eu tenho implementado um Capistrano SCM plugin para o Maven repos artefato . É novo, mas funciona muito bem.

Ele unifica os nossos projetos Ruby e Java em uma única ferramenta, e mais importante, que traz o poder de SSHKit de Capistrano e ancinho para nossos projetos Java.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top