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

problema ao fazer deploy no Tomcat

Boa noite pessoal ! Como o meu Jenkins e um pouco mais recente que o curso, as telas não batem fielmente como passa no treinamento. Porém, consegui criar as minhas credencias na ferramente e fazer a parte do vim (com um pouco de dificuldade), mas, quando eu faço o deploy a ferramenta me retorna um erro

vim


      <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <role rolename="manager-jmx"/>
      <role rolename="manager-status"/>

      <user username="jenkins" password="jenkins" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

Erro

ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: The [cargo.remote.username] and [cargo.remote.password] properties are mandatory and need to be defined in your configuration.
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.createManager(AbstractTomcatManagerDeployer.java:311)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.getTomcatManager(AbstractTomcatManagerDeployer.java:82)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:169)
    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
3 respostas
solução!

Olá Renato, tudo bem? Você colocou o código para adicionar o novo usuário dentro da tag "tomcat-users", deixando o arquivo da seguinte forma:

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="jenkins" password="jenkins" roles="manager-gui,manager- script,manager-jmx,manager-status" />

</tomcat-users>

E fez o processo de reinicialização, execuntando os arquivos da pasta "bin" do tomcat:

stop
startup

E nas versões mais novas do Jenkins é necessário adicionar outras informações no momento de fornecer as credencias, é necessário clicar no botão (é um botão para selecionar) "Add" e depois clicar na opção "Jenkins", nesse momento deve abrir um janela modal, solicitando os dados:

  • Username
  • Password
  • ID
  • Description

Você pode preencher esses campos da seguinte forma:

  • Username: jenkins
  • Password: jenkins
  • ID: user-jenkins
  • Description: usuario do jenkins tomcat

E fala pra gente se funcionou!

Boa noite mano !

Cara, muito obrigado pela a explicação, funcionou perfeitamente. Porém ainda estou com o problema que o projeto não e passado diretamente para a pasta webapps do Tomcat, mas esse parte do credenciamento e funcionamento de plugin funcionou !

Muiiiito obrigado irmão !

Tests run: 13, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-surefire-report-plugin:2.19.1:report-only (default) @ argentum-web ---
[WARNING] Unable to locate Test Source XRef to link to - DISABLED
[INFO] 
[INFO] --- maven-war-plugin:2.6:war (default-war) @ argentum-web ---
[INFO] Packaging webapp
[INFO] Assembling webapp [argentum-web] in [C:\Users\Renato\.jenkins\workspace\argentum-web\target\argentum-web]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\Users\Renato\.jenkins\workspace\argentum-web\src\main\webapp]
[INFO] Webapp assembled in [176 msecs]
[INFO] Building war: C:\Users\Renato\.jenkins\workspace\argentum-web\target\argentum-web.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  18.364 s
[INFO] Finished at: 2020-04-01T20:18:12-03:00
[INFO] ------------------------------------------------------------------------
[DeployPublisher][INFO] Attempting to deploy 1 war file(s)
[DeployPublisher][INFO] Deploying C:\Users\Renato\.jenkins\workspace\argentum-web\target\argentum-web.war to container Tomcat 7.x Remote with context argentum-web
  [C:\Users\Renato\.jenkins\workspace\argentum-web\target\argentum-web.war] is not deployed. Doing a fresh deployment.
  Deploying [C:\Users\Renato\.jenkins\workspace\argentum-web\target\argentum-web.war]
Finished: SUCCESS

Cara, te peço mil desculpas, eu estava cometendo um erro básico !

Estava esquecendo de completar a URL para a correta /argentum-web, agora está funcionando perfeitamente.

Dica: como tive uma dificuldade de fazer as criação do usuário pelo terminal, abrir em um editor de texto normal (no caso usei o vscode) para fazer esse criação. Para quem não tem a familiaridade de usar o terminal, eu testei aqui e funciona perfeitamente.

Mais uma vez muito obrigado irmão !