我正在使用 Jenkins 在 GlassFish 4 服务器中部署 war 文件。但无法部署
Glassfish 4 服务器中的 war 文件。
我正在遵循以下流程。
但它在构建时给出以下错误。
错误:构建步骤失败,出现异常
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)
在
hudson.plugins.deploy.CargoContainerAdapter.deploy(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) 处
hudson.FilePath.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.performAllBuildSteps(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) 处
hudson.model.FreeStyleBuild.run(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)
在
hudson.plugins.deploy.CargoContainerAdapter.deploy(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) 处
hudson.FilePath.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.performAllBuildSteps(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) 处
hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在
hudson.model.ResourceController.execute(ResourceController.java:97)
在 hudson.model.Executor.run(Executor.java:429) 构建步骤“部署”
容器的战争/耳朵将构建标记为失败已完成:失败
我能够使用以下两种方法中的任何一种方法部署到 glassfish 4:
-
方法1 使用新版本的部署到容器插件
您可以从 github 克隆以下内容(注意:您可以尝试使用新版本的插件)
https://github.com/jenkinsci/deploy-plugin/tree/205715c3556ade8d8665de677ebb41e35ee64793
现在构建项目,在目标文件夹中您可以找到可以安装在 jenkins 中的deploy.hpi 文件。该版本支持 Glassfish 4。
手动安装插件:如何在 Jenkins 中手动安装插件
方法2 在jenkins中添加以下内容作为执行shell。根据需要更新值并创建glassfish密码文件。它将取消delpoyear文件并部署新的。
#!/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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)