2014-08-29 151 views
0

我有tomcat 7.0.39安裝在通過https訪問的服務器中。我已成功部署並正在訪問jenkins v1.575。我使用SVN作爲jenkins來檢出我的grails項目的最新副本,並在運行tomcat的服務器上構建和部署它。我還安裝了Deploy Plugin以使jenkins能夠在容器中部署war文件。無法使用jenkins在tomcat中成功部署war文件

下面是生成後的行動:

enter image description here

創建一個新的構建是成功的,但每當詹金斯嘗試部署其內置war文件,我得到這個錯誤。

|Done creating WAR target/doe-lubes-0.1.war 
Deploying /var/www/tomcat/.jenkins/jobs/doe-lubes/workspace/target/doe-lubes-0.1.war to container Tomcat 7.x Remote 
ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception 
org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/www/tomcat/.jenkins/jobs/doe-lubes/workspace/target/doe-lubes-0.1.war] 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:193) 
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103) 
    at hudson.FilePath.act(FilePath.java:922) 
    at hudson.FilePath.act(FilePath.java:895) 
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103) 
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:736) 
    at hudson.model.Build$BuildExecution.post2(Build.java:183) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:685) 
    at hudson.model.Run.execute(Run.java:1765) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:234) 
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
    at sun.security.ssl.Handshaker.process_record(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:534) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:686) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:699) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:174) 

我找不到合適的解決方案和演練,因爲我仍然是詹金斯的新手。我可以手動成功地在tomcat中部署war文件,但是使用jenkins,我不能。 我需要配置什麼來解決這個問題?

謝謝。

+0

你試過這個建議嗎? – Technext 2014-09-01 06:46:28

回答

0

您的問題似乎與此link中所述的SSL證書有關。解決問題的方法取決於您是使用Java keytool還是OpenSSL來生成證書。

它建議在生成證書時使用-ext選項。 最好是,您應該使用主機名而不是IP

對於使用keytool的證書生成,您可以使用this鏈接。對於OpenSSL,您將不得不更改openssl.cnf文件,該文件通常存在於/etc/ssl目錄中。

0

將您的tomcat URL從https更改爲http將解決此問題。我猜你的tomcat服務器並不真正在https中運行。

相關問題