Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-65742

WebSphere 9.0 deployment - Could not determine if artifact is installed - General Exception

XMLWordPrintable

      Ok, so we've been trying to get this to work for the past few days, without success. We have read numerous articles on similar issues:

      https://issues.jenkins-ci.org/browse/JENKINS-31450

      https://issues.jenkins-ci.org/browse/JENKINS-30265

      https://issues.jenkins-ci.org/browse/JENKINS-21643

      https://wiki.jenkins.io/display/jenkins/ibm+websphere+configuration

      But I'm hoping someone might be able to shed some light on the following queries we have. We've been trying to deploy a WAR file artifact (compiled from source code in GIT) to a WebSphere Application Server. Firstly, each of the servers are running in OpenShift (Jenkins 2.263.3 / WebSphere Application Server 9.0.5.6 / WebSphere Portal DX Server 9.x). We believe there is connectivity between each of the servers, as we've tested communication using 'curl' for the ports that we've specified.

       


      Jenkins pom.xml File
      The installed Jenkins pom.xml file (/var/lib/jenkins/plugins/websphere-deployer/META-INF/maven/org.jenkins-ci.plugins/websphere-deployer/) it currently shows:

      ...
      <properties>
        <jenkins.version>1.608</jenkins.version>
        <was.version>7.0.0</was.version>
        <liberty.version>8.5.x.6</liberty.version>
      </properties>
      ...

      It shows an older version of Jenkins, as we're running 2.263.3 and we're trying to deploy to WAS 9.0 which is not what's shown.

      QUESTIONS:
      What is the Jenkins pom.xml used for and do we need to change settings in this file to match our environment? And then restart?
      Or are there other configuration settings that need to be updated manually? Do these settings make a difference? And what is it used for?

       


      Self Signed WAS SSL Certificate
      We also have a self-signed certificate running on the WAS server Admin Console URL. This is signed as localhost.

      We've tried specifying a "route" (Domain Name) in the WebSphere IP/DNS setting, but even though we're able to Test Connection successfully we're not able to deploy / detect any code installed on the server.

      QUESTIONS:
      Do we need to have an actual fully qualified hostname in the certificate, or is a "localhost" hostname OK? Does this then need to match our WebSphere IP/DNS setting we specify.

      We've tried to install the signer certificate by downloading the certificate and adding it to the cacerts file for the Java installed, using the keytool, however, our Jenkins server cacerts file is owned by "root" and we are not able to update this file using our ID and we're not able to sudo.

      We've also tried adding the DummyClientKeyFile.jks as per the published note, but this appears to have made no difference: https://aboullaite.me/continuous-deployment-with-maven-jenkins-and-was/
       


      WHAT WORKS:
      We are connecting to GitHub successfully, to download a copy of our source code (Private repository).

      We then successfully invoke Maven to perform a "clean install".

      And we've even downloaded the generated WAR file separately and installed this manually on the WAS Server (via the Admin Console) successfully.

      We then try to run the websphere-deployer plugin to install / update the application - which is where we run into problems.
       


      THE ERROR:

      We have read that the websphere-deployer plugin uses HTTPS on port 9043 to communicate with the WAS server, however, our secure port for WAS is running on 10041, our secure port for WPS (WebSphere Portal Server) is running on 10042, and our SOAP connector is running on 10033.

      We're able to "Test Connection" successfully, however, it fails to detect whether the application is installed or not, in order to update it, possibly due to a certificate error or incorrect (blocked) port.

      The error message that we receive is as follows:

      Generating EAR For Artifact: WidgetFormHandler
      Artifact is being deployed to virtual host: default_host
      Error deploying to IBM WebSphere Application Server: org.jenkinsci.plugins.websphere.services.deployment.DeploymentServiceException: Could not determine if artifact 'WidgetFormHandler' is installed: General Exception:
      at org.jenkinsci.plugins.websphere.services.deployment.WebSphereDeploymentService.isArtifactInstalled(WebSphereDeploymentService.java:477)
      at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.stopArtifact(WebSphereDeployerPlugin.java:409)
      at org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.perform(WebSphereDeployerPlugin.java:245)
      at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:753)
      at hudson.model.Build$BuildExecution.post2(Build.java:177) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:698)
      at hudson.model.Run.execute(Run.java:1932) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:429)
      Performing rollback of 'WidgetFormHandler'
      WARNING: Artifact doesn't exist rollback repository
      Build step 'Deploy To IBM WebSphere Application Server' changed build result to FAILURE
      Finished: FAILURE

       
      QUESTIONS:

      Do we appear to have SSL issues, port issues or something else? And are there any logging classes we should look at or log files to check that might indicate where the problem is occurring?

      Any assistance you would be able to provide would be greatly appreciated.

            gpeters Greg Peters
            tauranga Pete
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: