Minha equipe usa um repo maven de equipe interna que é compartilhado de um servidor de desenvolvimento usando Apache. Também executamos o servidor Continuum CI na mesma máquina. As compilações do Maven no Continuum são executadas com o objetivo "instalar", que copia o artefato final diretamente no diretório compartilhado.
A questão é: qual é a diferença entre adicionar arquivos ao repositório compartilhado usando mvn install
e usar o objetivo de implantação (plugin mvn-deploy)?
Parece-me que usar mvn deploy
cria problemas de configuração adicionais, mas eu li em algum lugar que instalar arquivos em um repositório compartilhado é uma má ideia por algum motivo relacionado ao funcionamento interno do maven.
atualização: eu obtenho as diferenças funcionais entre deploy
e install
; Na verdade, estou mais interessado nos detalhes de baixo nível em termos de quais arquivos são criados no repositório do maven.
mvn deploy
? Quais são os benefícios para a configuração extra que foi exigida em primeiro lugar?Dos documentos do Maven , parece que é apenas uma diferença em qual repositório você instala o pacote:
Talvez haja alguma confusão em que "instalar" no servidor CI o instala em seu repositório local, que você, como usuário, está compartilhando?
fonte
"matt b" está certo, mas para ser específico, o objetivo "instalar" copia seu destino construído para o repositório local em seu sistema de arquivos; útil para pequenas mudanças em projetos que atualmente não são destinados ao grupo completo.
O objetivo "implantar" o carrega em seu repositório compartilhado para quando seu trabalho for concluído e, em seguida, pode ser compartilhado por outras pessoas que precisam dele para seus projetos.
No seu caso, parece que "instalar" é usado para facilitar o gerenciamento da implantação, já que o repositório local do CI é o repositório compartilhado. Se o CI estivesse em outra caixa, ele teria que usar o objetivo "implantar".
fonte