如何使用Jenkins在GlassFish 4服务器中部署war文件
我正在使用Jenkins在GlassFish 4服务器中部署war文件。但无法部署 Glassfish 4服务器中的war文件。如何使用Jenkins在GlassFish 4服务器中部署war文件,jenkins,glassfish-4,Jenkins,Glassfish 4,我正在使用Jenkins在GlassFish 4服务器中部署war文件。但无法部署 Glassfish 4服务器中的war文件。 我遵循以下流程 但它在构建时给出了以下错误 错误:生成步骤失败,出现异常 org.codehaus.cargo.util.CargoException:无法创建 部署管理器位于 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJs
我遵循以下流程 但它在构建时给出了以下错误 错误:生成步骤失败,出现异常 org.codehaus.cargo.util.CargoException:无法创建 部署管理器位于 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:356) 在 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.redeploy(AbstractJsr88Deployer.java:192) 在 部署(CargoContainerAdapter.java:77) 在 hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 在 hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 位于hudson.FilePath.act(FilePath.java:1047) act(FilePath.java:1025)位于 hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 在 hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 在 hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 位于hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 在 hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) 在 hudson.model.AbstractBuild$AbstractBuildExecution.PerformalBuildSteps(AbstractBuild.java:690) 位于hudson.model.Build$BuildExecution.post2(Build.java:186) hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) 位于hudson.model.Run.execute(Run.java:1819) 运行(FreeStyleBuild.java:43) hudson.model.ResourceController.execute(ResourceController.java:97) 在hudson.model.Executor.run(Executor.java:429)处,由以下原因引起: javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException: 无法获取DeploymentManager;没有注册的DeploymentFactory 在以下位置处理此URI: javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:117) 在 org.codehaus.cargo.container.glassfish.GlassFish3xRemoteDeployer.getDeploymentManager(GlassFish3xRemoteDeployer.java:82) 在 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:352) ... 还有18个 javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException: 无法获取DeploymentManager;没有注册的DeploymentFactory 在以下位置处理此URI: javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:117) 在 org.codehaus.cargo.container.glassfish.GlassFish3xRemoteDeployer.getDeploymentManager(GlassFish3xRemoteDeployer.java:82) 在 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:352) 在 org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.redeploy(AbstractJsr88Deployer.java:192) 在 部署(CargoContainerAdapter.java:77) 在 hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147) 在 hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117) 位于hudson.FilePath.act(FilePath.java:1047) act(FilePath.java:1025)位于 hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114) 在 hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93) 在 hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64) 位于hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 在 hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) 在 hudson.model.AbstractBuild$AbstractBuildExecution.PerformalBuildSteps(AbstractBuild.java:690) 位于hudson.model.Build$BuildExecution.post2(Build.java:186) hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) 位于hudson.model.Run.execute(Run.java:1819) 运行(FreeStyleBuild.java:43) hudson.model.ResourceController.execute(ResourceController.java:97) 在hudson.model.Executor.run(Executor.java:429)构建步骤“部署” war/ear到标记为生成失败已完成的容器:失败
我可以使用以下两种方法中的任意一种方法将其复制到glassfish 4:
将Glassfish主机名更改为127.0.0.1或localhost这对我有用 使用Windows批处理文件的示例
@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
运行批处理文件:
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"
您想使用glassfish 3(在Jenkins配置中)或4(如您的标签所示)?谢谢Jens回答我的问题。我想在GlassFish 4中部署,这里的ip和端口号属于GlassFish 4。但在Jenkins中,GlassFish 4没有选项。@BimalKumarDalei您使用的是部署到容器插件吗?是的@MukeshM,我使用的是部署到容器插件。@BimalKumarDalei我尝试了新版本的插件,它对我有效。但对于新版本,您必须从github克隆并构建部署到容器插件项目。
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"