Jenkins : Frequently Asked Questions

1) Why can't I deploy from a Jenkins Slave?

    Only deployments from a Jenkins Master are supported at this time.

2) Why does my test connection connect successfully but my install/upload fail to connect?

    a) SOAP commands are sent from the WebSphere Deployer Plugin (WDP) on port 8879 (For WAS ND) or port 8880 (For standalone WAS)
    b) When the WDP initiates the deployment, the internal WAS environment looks up the common name of the SSL certificate for the deployment manager (or WAS admin console)
    c) If the common name (CN) specified in the SSL cert is not found in the DNS, the upload may fail
    b) If the CN matches the DNS name of the WebSphere Deployment Manager or Admin Console, the upload will succeed. Sometimes, you will get a Hostname Verification error. If this happens, you need to make sure the CN matches the hostname of the server you are deployment manager (or WAS admin console). If you have this issue, you must regenerate the root certificate and make it match the DNS!

3) How do I deploy to multiple servers using the same context root?

    If you're deploying to multiple servers with the same deployment manager, you must give each WDP configuration a unique "Application Name" for the job.
    For example, if you are deploying to DEV & QA, you can use application names like "myapp-dev" and "myapp-qa". This will allow you to deploy the same context root ("/myapp" for example) on both servers, regardless of whether the is a cluster or a single node in either DEV or QA.

4) I keep getting PermGen errors when deploying.

You will most likely run out of PermGen space if you're using the default JVM values on your application server/servlet container that's hosting Jenkins (Please update your JVM memory requirements).

  • NOTE: Make sure the application server/servlet container is not running Jenkins as 'root' user. This can cause file permissions issues with maven or other tools and prevent deployable artifacts from making it to the final build location. You can try, but it may not work correctly

5) I get an IncompatibleClassChangeError when deploying.

    This error typically occurs when you're running Jenkins on a newer version of Java than the WebSphere server. For example, you can't run Jenkins on JRE 1.8 and expect to deploy to WebSphere v7.

6) I get a KrbException when deploying to WebSphere v7.0.0

   This is a bug in WebSphere v7.0.0, you must apply the latest updates (v7.0.43 at the time of this writing) and copy over the updated "admin client jars" as specified in the configuration of this plugin. If you don't copy over the jars, you will still have the old websphere thin client jars in Jenkins. Please make sure you copy them to the websphere-deployer/WEB-INF/lib folder on the jenkins server.

7) I get an ObjectName error when deploying to WebSphere.

  This error typically occurs because of a classloader issue. The latest versions of this plugin have tried to rectify this issue by implementing "<pluginFirstClassLoader>false</pluginFirstClassLoader>". If you have issues, you can always attempt to change this to "true" in the plugin's manifest.

8) Are cluster deployments allowed?

  Yes, you can deploy to 1 or more clusters using this plugin. The latest version has a button called "Show Available Targets" to help you identify where the plugin is allowed to deploy to. You can deploy to multiple targets as long as each target is on its own line. See the plugins (question) icon in the job configuration for more details.

9) I keep getting PKIX errors when connecting to WebSphere, what causes this? and how do I fix it?

PKIX errors happen when the SSL certificate provided by the Webphere Deployment Manager (or standalone WebSphere Admin Console) is not trusted by the JVM that's running Websphere Deployer Plugin. Traditionally the fix for this issue was to import the SSL certificate from the Deployment Manager or Admin Console into the cacerts of the JVM that's running Jenkins. With the newer version(s) v1.6.0+, you can select "Trust SSL Certificates" to work around these issues. Typically, these deployments are internal to an organization, so it's not necessarily an issue to trust all SSL certificates the WDP is deploying to.

10) I get other errors after upgrading the plugin or unexplained errors.

It is imperative that you use the jar files associated with your specific version of WebSphere. For example, if you were using WebSphere v7 jars with this plugin and then decide you want to deploy to WebSphere v8.5, you MUST copy over the jar files for the WebSphere v8.5. Using the old WebSphere v7 files to deploy to another version of WebSphere may work but certain features required by this plugin will fail. 

11) Can I deploy to multiple versions of WebSphere?

Yes, but only if you use another Jenkins server to deploy to the different version (see FAQ #10 above). If you want to deploy to the same to different WebSphere versions from the same Jenkins server, you can't due to classloader issues between the WebSphere jar versions.

12) I get errors when starting/stopping/isArtifactInstalled, why is that?

If you are authenticating to WebSphere using SOAP, the user must have the correct role for the actions you want to perform.
Reference: https://www.ibm.com/support/knowledgecenter/en/SSAW57_9.0.0/com.ibm.websphere.nd.multiplatform.doc/ae/rsec_adminroles.html

    

Attachments: