首页 > 解决方案 > 如何使用 Jenkins 在 GlassFish 4 服务器中部署战争文件

问题描述

我正在使用 Jenkins 在 GlassFish 4 服务器中部署战争文件。但无法在 Glassfish 4 服务器中部署战争文件。
我正在遵循以下过程。

在此处输入图像描述

但它在构建时给出了以下错误。

javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException:无法获取部署管理器;没有注册的 DeploymentFactory 在 org.codehaus.cargo.container.glassfish.GlassFish3xRemoteDeployer.getDeploymentManager(GlassFish3xRemoteDeployer.java:82) 的 javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:117) 处处理此 URI .codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.getDeploymentManager(AbstractJsr88Deployer.java:352) ... 还有 18 个 javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException:无法获取 DeploymentManager;没有注册的 DeploymentFactory 在 javax.enterprise.deploy.shared.factories.DeploymentFactoryManager.getDeploymentManager(DeploymentFactoryManager.java:

标签: jenkinsglassfish-4

解决方案


我能够使用以下两种方法中的任何一种方法来 delopy 到 glassfish 4:

  1. 方法1 使用新版本的Deploy to container Plugin

    您可以从 github 克隆以下内容(注意:您可以尝试使用新版本的插件)

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

    现在构建项目,在目标文件夹中,您可以找到可以安装在 jenkins 中的 deploy.hpi 文件。此版本支持 Glassfish 4。

    手动安装插件:如何在 Jenkins 中手动安装插件

  2. 方法2在jenkins中添加以下内容作为执行shell。根据需要更新值并创建glassfish密码文件。它将取消删除ear文件并部署新的文件。

#!/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

推荐阅读