I have installed jenkins on RHEL 6.4 via RPM. I have installed the CollabNet Plugin to enable uploads of files/etc... to our project after a build. The SCM repository is svn, and is functioning fine after modification of the .subversion/servers file:
ssl-client-cert-file = /var/lib/jenkins/.subversion/MyCert.p12
ssl-client-cert-password = Mypass
I have also added the following to the /etc/sysconfig/jenkins file:
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djavax.net.ssl.keyStore=/var/lib/jenkins/MyPass.p12
-Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStorePassword=MyPass"
Everything checks out fine/builds fine, so my certificates are good.
However, the Collabnet plugin fails to authenticate. We are only able to use certificates, no user name and password. Apparently, the plugin worked around version 1.5 with version 1.4 of jenkins, but both of those are quite old, and I'd rather not go 3 years back in time. If I understand correctly, the plugin is now using Apache's HTTP client for the connection code, but the Apache HTTP client does not automatically pick up the keystore from the system properties. The old plugin does not work with the latest versions of Jenkins, either.
Any ideas on how to get around this problem? Either modifying the plugin's source, or some other mechanism?
Thanks,
and here are the error logs:
CollabNet FileRelease: Critical Error: login to https://project.forge.mil failed. Setting build status to UNSTABLE (or worse).
ERROR: Publisher hudson.plugins.collabnet.filerelease.CNFileRelease aborted due to exception
java.lang.NullPointerException
at hudson.plugins.collabnet.filerelease.CNFileRelease.createAction(CNFileRelease.java:195)
at hudson.plugins.collabnet.filerelease.CNFileRelease.perform(CNFileRelease.java:169)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:781)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:753)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706)
at hudson.model.Run.execute(Run.java:1690)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:246)
Finished: FAILURE
and a little more detail from /var/log/jenkins/jenkins.log:
ct 22, 2013 5:50:54 PM hudson.model.Run execute
INFO: test2 #13 main build action completed: SUCCESS
Oct 22, 2013 5:50:55 PM hudson.plugins.collabnet.util.CommonUtil logRE
INFO: getCollabNetApp failed due to org.apache.axis.AxisFault: Error logging in. Please verify the username and password.
Oct 22, 2013 5:50:55 PM hudson.plugins.collabnet.util.CNHudsonUtil getCollabNetApp
SEVERE: getCollabNetApp failed
AxisFault
faultCode: {http://schema.open.collab.net/sfee50/soap50/type}LoginFault
faultSubcode:
faultString: Error logging in. Please verify the username and password.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}exceptionName:com.collabnet.ce.soap50.fault.LoginFault
{http://xml.apache.org/axis/}hostname:ugunhp3v
Error logging in. Please verify the username and password.
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1789)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2965)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.collabnet.ce.soap50.webservices.cemain.CollabNetSoapStub.login(CollabNetSoapStub.java:115)
at com.collabnet.ce.webservices.CollabNetApp.login(CollabNetApp.java:214)
at com.collabnet.ce.webservices.CollabNetApp.<init>(CollabNetApp.java:82)
at hudson.plugins.collabnet.util.CNHudsonUtil.getCollabNetApp(CNHudsonUtil.java:39)
at hudson.plugins.collabnet.AbstractTeamForgeNotifier.connect(AbstractTeamForgeNotifier.java:98)
at hudson.plugins.collabnet.filerelease.CNFileRelease.perform(CNFileRelease.java:163)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:781)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:753)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706)
at hudson.model.Run.execute(Run.java:1690)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:246)