Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Build com problema ! (part 2 )

Após solucionar problemas com o SonarQeub, o projeto não fez deploy no tomcat, porque?

PS: O conteudo total da dúvida se encontra aqui https://cursos.alura.com.br/forum/topico-build-com-problema-109143

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  50.858 s
[INFO] Finished at: 2020-04-30T17:31:20-03:00
[INFO] ------------------------------------------------------------------------
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded "FAIL - Unable to delete [C:\Users\Renato\Desktop\Curso\jenkins\apache-tomcat-7.0.103\webapps\argentum-web]. The continued presence of this file may cause problems.
" instead of the expected "OK" message
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:721)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:501)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.undeploy(TomcatManager.java:441)
    at org.codehaus.cargo.container.tomcat.Tomcat7xRemoteDeployer.performUndeploy(Tomcat7xRemoteDeployer.java:58)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy(AbstractTomcatManagerDeployer.java:126)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81)
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167)
    at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136)
    at hudson.FilePath.act(FilePath.java:1075)
    at hudson.FilePath.act(FilePath.java:1058)
    at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133)
    at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95)
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113)
    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
    at hudson.model.Build$BuildExecution.post2(Build.java:186)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
    at hudson.model.Run.execute(Run.java:1905)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)
Build step 'Deploy war/ear to a container' marked build as failure
Finished: FAILURE
4 respostas

Olá Renato, tudo bem? Me parece que o erro agora é que o Tomcat não consegue por algum motivo excluir a pasta argentum-web que está dentro do Tomcat apache-tomcat-7.0.103\webapps\, então tenta o seguinte, excluir essa pasta argentum-web que está em C:\Users\Renato\Desktop\Curso\jenkins\apache-tomcat-7.0.103\webapps\argentum-web, e depois tenta realizar o Build novamente, se funcionar corretamente, ai vamos ver uma forma de automatizar a exclusão dessa pasta no Windows, porque no Linux é mais fácil essa questão.

Fico aguardando!

Fala meu amigo Jonilson, tudo bem irmão !

Meu camarada, funcionou \o/ mas não está automatizado, tentei fazer o deploy 2 vezes e na segunda vez deu falha pelo oque entendi a ferramenta não está conseguindo remover o projeto antigo e colocar o novo na pasta webapps só funciona se eu parar o meu Tomcat, apagar o projeto da pasta webapps e executar o job novamente. Como posso fazer para automatiza-lo ?

solução!

Bem era isso que eu queria realmente saber Renato, e parece que estava certo, o problema é que o Tomcat não está conseguindo apagar a pasta argentum-web para fazer o deploy novamente. Isso pode ser resolvido alterando a propriedade antiResourceLocking do Tomcat, para isso você deve ir no arquivo context.xml que fica dentro da pasta conf que está dentro da pasta do Tomcat, e nesse arquivo context.xml, você deve alterar a seguinte linha:

<Context>

Para:

<Context antiResourceLocking = "true">

Assim o arquivo completo deve ficar semelhante a isso:

<?xml version='1.0' encoding='utf-8'?>
<Context antiResourceLocking = "true">

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

</Context>

Observação: Este código acima está sem os comentários que o arquivo tem!

Isso deve resolver o problema, tenta e fala pra gente se funcionou!

Meu camarada Jonilson ! FUNCIONOU !!!!!!!!

Muito obrigado por todas as explicações dadas e pela paciência de me ajudar com minha dúvidas e que não será a ultima ! Com isso consolido o meu conhecimento no curso de Jenkins !

Mais uma vez muito obrigado e até breve !