2

I am using Jenkins to deploy a war file in GlassFish 4 server.But unable to deploy war file in Glassfish 4 server.
I am following below process.

enter image description here

But it gives following error at the build time.

ERROR: Build step failed with exception org.codehaus.cargo.util.CargoException: Cannot create the DeploymentManager at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:356) at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.redeploy(AbstractJsr88Deployer.java:192) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) at hudson.FilePath.act(FilePath.java:1047) at hudson.FilePath.act(FilePath.java:1025) at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) at hudson.model.Run.execute(Run.java:1819) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Caused by: javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException: Could not get DeploymentManager; No registered DeploymentFactory handles this URI at javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:117) at org.codehaus.cargo.container.glassfish.GlassFish3xRemoteDeployer.getDeploymentManager(GlassFish3xRemoteDeployer.java:82) at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:352) ... 18 more javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException: Could not get DeploymentManager; No registered DeploymentFactory handles this URI at javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:117) at org.codehaus.cargo.container.glassfish.GlassFish3xRemoteDeployer.getDeploymentManager(GlassFish3xRemoteDeployer.java:82) at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:352) at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.redeploy(AbstractJsr88Deployer.java:192) at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) at hudson.FilePath.act(FilePath.java:1047) at hudson.FilePath.act(FilePath.java:1025) at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) at hudson.model.Run.execute(Run.java:1819) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE

Mukesh M
  • 2,242
  • 6
  • 28
  • 41
  • 1
    You want to deply to glassfish 3 (in Jenkins config) or 4 (like your tag says)? – Jens Sep 04 '18 at 07:27
  • 1
    Thank you Jens for response my question. I want to deploy in GlassFish 4, here ip and port number belongs to GlassFish 4. But in jenkines no option for GlassFish 4. – Bimal Kumar Dalei Sep 04 '18 at 08:39
  • @BimalKumarDalei are you using Deploy to container Plugin? – Mukesh M Oct 28 '18 at 14:11
  • Yes @MukeshM, i am using Deploy to container plugin. – Bimal Kumar Dalei Oct 29 '18 at 05:52
  • @BimalKumarDalei i try with new version of plugin and it worked for me.But for new version you have to clone and build Deploy to container Plugin project from github. – Mukesh M Oct 29 '18 at 10:27
  • @BimalKumarDalei you can also use ASADMIN to delpoy in glassfish.It worked in glassfish 3 as well as glasfish 4 for me. – Mukesh M Oct 29 '18 at 10:32
  • Yes @MukeshM you are absolutely correct. i am using above way for glassfish 4.1. And it is working in local and i am facing problem for remote server with following error: ERROR: Build step failed with exception org.codehaus.cargo.util.CargoException: Deployment has failed: null. And i am not uploading your plugin in jenkins. i will use it soon. – Bimal Kumar Dalei Oct 30 '18 at 05:45
  • @BimalKumarDalei Is your local glassfish version 3? Deploy to container plugin will show glassfish 4 option only if you install new version from github and you have to install plugin in Jenkins manually.https://stackoverflow.com/questions/14950408/how-to-install-a-plugin-in-jenkins-manually – Mukesh M Oct 30 '18 at 06:15
  • @MukeshM No, it is glassfish version 4.1, but it was deployed. same thing for for tomcat also, i.e if i am choosing one version gives port number for another version it also deployed.___ i upload your plugin it is showing now glassfish 4x. Thank you. – Bimal Kumar Dalei Oct 30 '18 at 09:40
  • @BimalKumarDalei it is not my plugin,it is same Deploy to container Plugin – Mukesh M Oct 30 '18 at 11:46

3 Answers3

4

I was able to delopy to glassfish 4 using any one method from following two methods:

  1. Method 1 Using new version of Deploy to container Plugin

    You can clone following from github (Note: you can try with new version of plugin)

    https://github.com/jenkinsci/deploy-plugin/tree/205715c3556ade8d8665de677ebb41e35ee64793

    Now build the project and in target folder you can find deploy.hpi file which can be install in jenkins. This version has support for Glassfish 4.

    To install plugin manually: How to install a plugin in Jenkins manually

  2. Method 2 Add following in jenkins as execute shell.Update the value as required and create glassfish password file.It will undelpoy the ear file and deploy the new one.

#!/bin/bash

# FOR JENKINS

# Update following values as required
GLASSFISH_PASSWORD_FILE_PATH=/home/pwd

ASADMIN_PATH="/home/glassfish4/glassfish/bin/asadmin"
ASADMIN_BASE_CMD="$ASADMIN_PATH --host 10.13.209.100 --port 9048 --user admin2 --passwordfile $GLASSFISH_PASSWORD_FILE_PATH"

DEPLOY_EAR_FILE_PATH="Dummy-project-ear/target"
DEPLOY_EAR_FILE_NAME="Dummy-project-ear-1.0-SNAPSHOT.ear"

UNDEPLOY_EAR_NAME="Dummy-project-ear-1.0-SNAPSHOT"

# Commands

$ASADMIN_BASE_CMD list-applications
$ASADMIN_BASE_CMD undeploy $UNDEPLOY_EAR_NAME
$ASADMIN_BASE_CMD deploy $DEPLOY_EAR_FILE_PATH/$DEPLOY_EAR_FILE_NAME
Mukesh M
  • 2,242
  • 6
  • 28
  • 41
2

Change the Glassfish hostname to 127.0.0.1 or localhost it's work for me!

0

Example using Windows batchfile

@ECHO OFF 
:: BAT START GLASSFISH 5 SERVER
ECHO ============================
ECHO STOPING GLASSFISH 5
ECHO ============================
tasklist | find /i "java.exe" && taskkill /im java.exe /F || echo process "java.exe" not running.
ECHO ============================
ECHO NETWORK INFO
ECHO ============================
ipconfig | findstr IPv4
ECHO ============================
ECHO STARTING GLASSFISH 5
ECHO ============================
ECHO Please wait...
ping 127.0.0.1 -n 10 > nul
net start domain1
ECHO Please wait... Restarting Server
ping 127.0.0.1 -n 90 > nul
exit  0

Running The batchfile:

asadmin --echo=true --host=localhost --port=4848 --user=admin --passwordfile=C:\FilePassGF\passwordfile.txt --secure=false deploy --name "NameWar" --contextroot "NameWar" --force=true "C:\Jenkinshome\deploys\$JOB_NAME\$BUILD_NUMBER\Target-1.0.war"
JoSSte
  • 2,953
  • 6
  • 34
  • 54