Configuring Jenkins
1) Copy required admin & optional orb jars to Jenkins classpath (Clicking 'Test Connection' will show the correct path)
2) Enter the IP/DNS of WebSphere Application Server
3) Enter the Port to connect on
4) Select SOAP as the connect type (only supported type)
WebSphere Global Security
5) Enter the Username associated with WebSphere's Admin Console
6) Enter the Password associated with WebSphere's Admin Console
Connecting Remotely (ONLY if WebSphere is using the default untrusted SSL cert)
There are additional steps required for connecting to WebSphere remotely. Since WebSphere ships with an untrusted SSL cert(which the WebSphere Admin Console uses), you must tell the JRE that Jenkins is using to trust the "untrusted" cert. You do this by importing the untrusted
SSL cert provided by WebSphere into your "cacerts" file. ** Please be sure to backup your cacerts file before proceeding with these steps ****
1) By default the WebSphere Admin Console uses an untrusted cert, this cert must be trusted before connecting remotely by either importing it into cacerts for the JRE jenkins uses.
a) point Google Chrome to the WebSphere Admin Console using https
b) Click the https lock icon in the URL address bar of your browser (a dialog window will pop up)
c) Click on the "Connection" tab
d) Click on "Certificate Information" link (another dialog window will pop up)
e) Click on "Details" tab
f) Click "Export..." button and save the certificate to your computer.
g) Import the certificate into <JRE_HOME>/lib/security/cacerts using either the "keytool" command or IKeyMan provided by IBM
example) keytool -keystore <path to jre>/lib/security/cacerts -importcert -alias WebSphereServer -file admin_console.cer
-or-
Download and execute InstallCert.java with "java InstallCert <websphere:9043>", select option 1 then re-execute and select option 2 and copy the created keystore file to the jre/lib/security folder that jenkins is running against.
2) If you cannot ping the short DNS name of the server that's hosting WebSphere, you'll need to add it to etc/hosts on the Jenkins server
Wrapping WAR Deployments
WAR deployments will automatically be wrapped in an EAR based on the EE Level specified in the configuration.
12 Comments
Unknown User (java9394)
If I copy over the remote DummyClientTrustFile.jks to the Jenkins server, and set the "Client Truststore File Path" "Client Truststore Password", do I still need to import the remote self signed cert into the <JRE_HOME>/lib/security/cacerts?
I tried both: import the remote self signed cert into <JRE_HOME>/lib/security/cacerts, and also copied over the remote dummy keystore over, I was able to test connect, but still got the following exception, any idea?
thnx
java9394
[11/11/15 16:43:20:884 EST] 000000de SystemErr R com.ibm.websphere.management.exception.ConnectorException: ADMC0009E: The system failed to make the SOAP RPC call: getServerMBean
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplateOnce(SOAPConnectorClient.java:894)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:689)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:679)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.getServerMBean(SOAPConnectorClient.java:614)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:531)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.sun.proxy.$Proxy70.getServerMBean(Unknown Source)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.ws.management.AdminClientImpl.getServerMBean(AdminClientImpl.java:127)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.websphere.management.application.AppManagementProxy.<init>(AppManagementProxy.java:129)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at com.ibm.websphere.management.application.AppManagementProxy.getJMXProxyForClient(AppManagementProxy.java:90)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere.services.deployment.WebSphereDeploymentService.isArtifactInstalled(WebSphereDeploymentService.java:354)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.stopArtifact(WebSphereDeployerPlugin.java:243)
[11/11/15 16:43:20:885 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.perform(WebSphereDeployerPlugin.java:198)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.Build$BuildExecution.post2(Build.java:185)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.Run.execute(Run.java:1766)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.ResourceController.execute(ResourceController.java:98)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at hudson.model.Executor.run(Executor.java:410)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R Caused by: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: java.io.IOException: Exception during sslSocket.startHandshake: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty; targetException=java.lang.IllegalArgumentException: Error opening socket: java.io.IOException: Exception during sslSocket.startHandshake: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty]
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.java:475)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at org.apache.soap.rpc.Call.WASinvoke(Call.java:510)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient$8.run(SOAPConnectorClient.java:852)
[11/11/15 16:43:20:886 EST] 000000de SystemErr R at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplateOnce(SOAPConnectorClient.java:845)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R ... 20 more
[11/11/15 16:43:20:887 EST] 000000de SystemErr R org.jenkinsci.plugins.websphere.services.deployment.DeploymentServiceException: Could not determine if artifact 'WSTestEAR' is installed: ADMC0009E: The system failed to make the SOAP RPC call: getServerMBean
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere.services.deployment.WebSphereDeploymentService.isArtifactInstalled(WebSphereDeploymentService.java:357)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.stopArtifact(WebSphereDeployerPlugin.java:243)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.perform(WebSphereDeployerPlugin.java:198)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.Build$BuildExecution.post2(Build.java:185)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.Run.execute(Run.java:1766)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.ResourceController.execute(ResourceController.java:98)
[11/11/15 16:43:20:887 EST] 000000de SystemErr R at hudson.model.Executor.run(Executor.java:410)
Unknown User (java9394)
I copied over the dummy keystore and truststore from the remote server again and set them on the plugin, it's working fine now. Not need to import it to the JRE cacerts keystore.
thanks.
java9394
Unknown User (nkrb23)
I have copied the DummyClient keystore file to Jenkins JRE path, and i imported the certificate to <JRE_Path>.
(The certificate i imported, i got when i access the websphere through https connection with 10203 port number)
Some of the Port number configured in websphere are as, wc_adminhost_source - 10203; soap_connector_address - 10205
When i am trying to deploy, jenkins goes into loop and display message "Deploying 'HUB' to IBM WebSphere Application Server"; after that nothing happens.
I don't know what is client keystore and trust store password is, as it was third person who installed webspherer. Some body please guide me where i am doing wrong or missing some steps, also which port number should i use to deploy.
NOTE: without giving keystore and trust store password, my connection is successful on testing through jenkins on port number 10205. With 10203 port number i am getting error as SOAP can't be created.....
Unknown User (oecalaw)
Hi Everyone, first of all thanks for this amazing contribution.
Currently we are facing the following issue: The configuration seems to be fine, testing the connection is successful, when the build starts, the application is correctly undeployed but unfortunately when the file is being uploaded the deploy fails (see logs below). We are trying to upload a 145MB file to an instance that is hosted in the same Jenkins Server (i.e: to localhost). Could this be the reason for the error?
This error has been reproduced with version 1.3.4 and 1.4.2_Beta.
Any help you can provide is appreciated. Thanks
Thanks.UninstallApplication] ADMA5106I: Application XXXXXXXX uninstalled successfully.CompletedDeploying 'XXXXXXXX' to IBM WebSphere Application Server
Error deploying to IBM WebSphere Application Server: org.jenkinsci.plugins.websphere.services.deployment.DeploymentServiceException: Failed to install artifact: Failure uploading archive to server
at org.jenkinsci.plugins.websphere.services.deployment.WebSphereDeploymentService.installArtifact(WebSphereDeploymentService.java:251)
at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.deployArtifact(WebSphereDeployerPlugin.java:227)
at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.perform(WebSphereDeployerPlugin.java:201)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
at hudson.model.Run.execute(Run.java:1753)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:405)
Build step 'Deploy To IBM WebSphere Application Server' changed build result to FAILURE
Finished: FAILURE
Unknown User (oecalaw)
There are some JIRA issue related to this error:
https://issues.jenkins-ci.org/browse/JENKINS-31450
https://issues.jenkins-ci.org/browse/JENKINS-30265
https://issues.jenkins-ci.org/browse/JENKINS-21643
I followed the same approach than JENKINS-31450's reporter. And took a look at my Jenkins error log. There was a connection timeout error. Firewall was active but was unable to disable it or configure it. Then checked the suggestion on JENKINS-21643 and verified that my serverindex.xml file in WAS defined a hostname different than localhost. When trying to telnet to that host on port 8880 connection was being refused. Then tried the solution suggested in JENKINS-30265, and it worked fine. Now I'm able to deploy. Running version of the plugin is 1.4.2.beta.
Unknown User (venkates222)
In the test connection :Cannot find the required IBM WebSphere Application Server jar files in '<Jenkins_Root>\plugins\websphere-deployer\WEB-INF\lib\'. Please copy them from IBM WebSphere Application Server (see plugin documentation)
please help me to solve this problem
Unknown User (smile_90)
Even I m getting the same error.
I m using Deploy to IBM WebSphere Applcation Server Plugin
I haved kept the required jars in web-inf/lib, but they are deleted when I restart the Jenkins server.
my target server has WAS installed on a windows server.
Please help
Unknown User (gpeters)
What version of Jenkins and what version of plugin are you using? It's very unusual for the jar files to be deleted in websphere-deployer/WEB-INF/lib.
Unknown User (sunnyreddy)
Need Some Help!
Hi Greg Peters,
Trying to deploy an application on WebSphere Application server.
performed all the steps you mentioned above but
Getting this error:
Test Connection was Successful!
WebSphere-Version: 7.0.0
Jenkins-Version: 2.135
Plugin-Version: 1.6.1
Thank you for such a wonderful plugin.
Unknown User (sowmyagunti)
Is this issue resolved?
Unknown User (venkatvrp)
WebSphere:cell=[cellname],node=[nodeName],server=[serverName]
Unknown User (will_1024)
Hi ,
There is an issue from me. I downloaded the plugins and planned to deploy my code to WAS 9.0.0.10. But I didn't select the default node to run the deployment process – – I selected the 'web_build' node.
I tried to Test Connection the Websphere, and it showed successful. But when I built the job, it didn't success:
Did someone have this issue or know how can solve this issue by the node 'web_build'
Thanks!