6
respostas

Erro redeploy, teste unit e func. ok.

Boa noite, por favor uma dúvida. Segui os passos do video e consegui fazer os testes funcionais, mas quando ele vai dar redeploy ele quebra as construções.

Pode me ajudar com esses stack que o jenkins manda?

Estou tentando outras coisas, mas ainda não consegui ...

[DeployPublisher][INFO] Deploying C:\Users\Thiago.jenkins\workspace\argentum-web\target\argentum-web.war to container Tomcat 7.x Remote with context argentum-web ERROR: Build step failed with exception org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Users\Thiago.jenkins\workspace\argentum-web\target\argentum-web.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:188) 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)

Caused by: java.net.ConnectException: Connection refused: connect at java.base/java.net.PlainSocketImpl.connect0(Native Method) at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) at java.base/java.net.Socket.connect(Socket.java:608) at java.base/java.net.Socket.connect(Socket.java:557) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)

java.net.ConnectException: Connection refused: connect at java.base/java.net.PlainSocketImpl.connect0(Native Method) at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101) at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) at java.base/java.net.Socket.connect(Socket.java:608) at java.base/java.net.Socket.connect(Socket.java:557) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:242)

Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE

OBS:

GOAL configurado: clean verify -Ptestes-integracao -Dphantomjs.binary.path=D:/workspace/integracao_continua/driver/phantom_js/phantomjs-2.1.1-windows/bin/phantomjs.exe

e o tomcat está no disco "D:/ " também.

6 respostas

Olá Thiago, tudo bem? Como você está usando o Windows, isso pode está acontecendo por causa das permissões, você pode tentar encerrar o Tomcat e iniciar ele como administrador, para isso você deve iniciar o CMD do Windows como como administrador e depois executar o Tomcat.

Fala pra gente também se o seu arquivo tomcat-user.xml que fica dentro da pasta /conf/ do Tomcat está dessa 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 se você fez o processo de reinicialização, executando 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

Fala pra gente o resultado!

Bom dia Jonilson, obrigado pela ajuda e desculpa a demora em retornar.

  • Demorei um pouco, para confirmar todos os itens informados. Infelizmente, não deu certo.

Tem alguma outra dica, que você consegue passar?

Como você disse, estou usando essa nova versão do jenkins e tive o cuidado de refazer o usuário conforme o que você passou. Confirmei esse usuário, com o teste de browser no "localhost" e acessa normal na porta 8080. Olhei que o teste, ele está configurado para a porta: 8888. Ele executa normalmente.

Só por curiosidade, você sabe informar o porque essa ferramenta jenkins, ele cria no user do windows que estou logado um cara chamado: ".jenkins"? Isso é só para armazenar as alterações e atualizações , que configuro no jenkins ou é algo mais especifico.Pergunto, porque a stack comenta sobre a dica: de ir nesse path.

Desde de já, muito obrigado.

Thiago, ele cria o .jenkins justamente para guardar informações bem como configurações que podemos realizar em algum momento. Agora sobre o erro, você pode verificar também se o plugin Deploy to Container (que agora tem o nome de Deploy to container Plugin) foi instalado corretamente? E se foi verifica qual foi a versão e informa pra gente! Outra coisa, eu não entendi bem o que está sendo executado na porta 8888? Pode explicar melhor!

Jonilson, sim aparentemente está tudo certo com o container. A versão dele, é 1.15

Ele executa na porta 8888, acredito ser o teste do Selenium que está mapeado na classe: FiltraNegociacoesIT

  • linha: 34 a declaração da constante:

    private static final String HTTP_LOCALHOST_8888 = "http://localhost:8888"; e

  • linha: 84 o uso da chamada:

    driver.navigate().to(HTTP_LOCALHOST_8888 + "/index.xhtml");

  • do método:

    @Test public void verificaResultadosFiltradosNaTabela()

Obrigado, pela ajuda.

Thiago, me parece ser um erro de contexto, sendo assim você poderia colocar tudo em uma pasta só no disco C:\, coloque o nome da pasta de integracao-continua, e dentro dela você: O jenkins, os plugins, o Tomcat 7, e cria uma outra pasta com o nome projeto (dentro da pasta integracao-continua) e coloca a pasta argentum-web nessa pasta projeto. Tenta executar novamente, e fala pra gente o resultado!

Outra coisa, você poderia colocar aqui o arquivo catalina.out que fica dentro da pasta logs do Tomcat, talvez não seja possível colocar todo o conteúdo do arquivo aqui, então coloca no GitHub ou então no Google Drive e coloca o link aqui pra gente poder acessar e verificar!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software