Build pom.xml ssh + scp ant-jsch

Tenho configurado no meu pom.xml um profile de homologação, onde eu uso o plugin ant-jsch.1.7.1 para fazer o deploy do servidor de deploy para o servidor de testes/homologação. Funciona!

Porém no servidor de deploy onde está instalado o Hudson, o meu deploy sempre está quebrando alegando um

nullPointerException dentro deste plugin. O erro é intermitente, e por isso não é nenhuma configuração errada minha (acredito).

Mudei a versão do ant-jsch.1.7.1 para a versão mais atual: 1.8.2, só que ai acontece outro erro:

Pesquisando na net algum exemplo dessa configuração, ou ate mesmo alguém que tenha enfrentado o mesmo erro só que não obtive êxito.

Se alguém puder dar uma luz aí, ficarei deveras agradecido.

Mais algumas informações que podem ser necessárias para ajudar-me:

Meu servidor de deploy - Hudson - está rodando em Linux, Ubuntu!

Os IP’s usados estão funcionando corretamente. A cada 10 deploy’s por exemplo, 3, 4 dão nullPointer, os outros 7,6 funcionam corretamente.

Você me perguntou aqui e acabei de disparar a construção dos projetos no Hudson, e funcionou 100%. =/

  • Eu comecei a imaginar que fosse um timeout do servidor, para dar a resposta ao SSH, cogitei essa possibilidade.
    ** Outra (remota) mas considerei é o número de projetos que eu rodo o build, são 26 projetos rodando o pom.xml do Pai… mas sinceramente acho essa a mais remota possibilidade possivel.

Esse log é quando estou usando o ant-jsch.1.7.1 - Que funciona as vezes 100%, as vezes da erro:

[INFO] An Ant BuildException has occured: com.jcraft.jsch.JSchException: java.lang.NullPointerException

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An Ant BuildException has occured: com.jcraft.jsch.JSchException: java.lang.NullPointerException
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at hudson.maven.agent.Main.launch(Main.java:165)
    at hudson.maven.MavenBuilder.call(MavenBuilder.java:165)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:744)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:688)
    at hudson.remoting.UserRequest.perform(UserRequest.java:114)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant BuildException has occured: com.jcraft.jsch.JSchException: java.lang.NullPointerException
    at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:131)
    at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:98)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
    at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
    ... 28 more
Caused by: com.jcraft.jsch.JSchException: java.lang.NullPointerException
    at org.apache.tools.ant.taskdefs.optional.ssh.SSHExec.executeCommand(SSHExec.java:267)
    at org.apache.tools.ant.taskdefs.optional.ssh.SSHExec.execute(SSHExec.java:162)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:118)
    ... 32 more
Caused by: com.jcraft.jsch.JSchException: java.lang.NullPointerException
    at com.jcraft.jsch.Channel.connect(Channel.java:205)
    at com.jcraft.jsch.Channel.connect(Channel.java:144)
    at org.apache.tools.ant.taskdefs.optional.ssh.SSHExec.executeCommand(SSHExec.java:209)
    ... 41 more
[INFO]

Esse log de erro é usando a versão ant-jsch.1.8.2, que não funciona de jeito nenhum:

[INFO] Error installing artifact's metadata: Error installing metadata: Error updating group repository metadata

input contained no data
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error installing artifact's metadata: Error installing metadata: Error updating group repository metadata
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at hudson.maven.agent.Main.launch(Main.java:165)
    at hudson.maven.MavenBuilder.call(MavenBuilder.java:165)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:744)
    at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:688)
    at hudson.remoting.UserRequest.perform(UserRequest.java:114)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:270)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error installing artifact's metadata: Error installing metadata: Error updating group repository metadata
    at org.apache.maven.plugin.install.InstallMojo.execute(InstallMojo.java:143)
    at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
    at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
    ... 28 more
Caused by: org.apache.maven.artifact.installer.ArtifactInstallationException: Error installing artifact's metadata: Error installing metadata: Error updating group repository metadata
    at org.apache.maven.artifact.installer.DefaultArtifactInstaller.install(DefaultArtifactInstaller.java:123)
    at org.apache.maven.plugin.install.InstallMojo.execute(InstallMojo.java:105)
    ... 31 more
Caused by: org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException: Error installing metadata: Error updating group repository metadata
    at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.install(DefaultRepositoryMetadataManager.java:462)
    at org.apache.maven.artifact.installer.DefaultArtifactInstaller.install(DefaultArtifactInstaller.java:111)
    ... 32 more
Caused by: org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException: Error updating group repository metadata
    at org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.storeInLocalRepository(AbstractRepositoryMetadata.java:72)
    at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.install(DefaultRepositoryMetadataManager.java:458)
    ... 33 more
Caused by: java.io.EOFException: input contained no data
    at hidden.org.codehaus.plexus.util.xml.pull.MXParser.fillBuf(MXParser.java:3005)
    at hidden.org.codehaus.plexus.util.xml.pull.MXParser.more(MXParser.java:3048)
    at hidden.org.codehaus.plexus.util.xml.pull.MXParser.parseProlog(MXParser.java:1422)
    at hidden.org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1407)
    at hidden.org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1105)
    at org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader.read(MetadataXpp3Reader.java:949)
    at org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(AbstractRepositoryMetadata.java:98)
    at org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.storeInLocalRepository(AbstractRepositoryMetadata.java:68)
    ... 34 more
[INFO]
  • O servidor aonde está instalado o Hudson não possui acesso a internet, então eu rodo o build na minha minha máquina, para atualizar os artefatos e depois eu copio toda a pasta /.m2 para o servidor.

Se tiver alguma luz, vai ajudar demais.!