.war文件打包为JBOSS/Tomcat的RPM-最佳实践?

.war文件打包为JBOSS/Tomcat的RPM-最佳实践?,jboss,war,rpm,Jboss,War,Rpm,我计划将WAR文件打包为RPM。当前的部署过程对我们不起作用,我的想法是在RHN卫星上创建一个新的自定义频道,并通过该频道发布我的WAR文件。目前(因为我们试图赢得一些时间),我正在通过卫星管理一些配置文件,所以配置不是一个大问题。我们不让他们卷入战争有很多原因,但那是另一回事 不管怎样,有人把战争包装成RPM吗?您是执行热部署还是强制JBOSS/Tomcat重新启动?这是在RPM安装之后还是作为其一部分?你的规范文件是什么样子的?我能举个例子吗?您是签入JBOSS/Java/Oracle客户端

我计划将WAR文件打包为RPM。当前的部署过程对我们不起作用,我的想法是在RHN卫星上创建一个新的自定义频道,并通过该频道发布我的WAR文件。目前(因为我们试图赢得一些时间),我正在通过卫星管理一些配置文件,所以配置不是一个大问题。我们不让他们卷入战争有很多原因,但那是另一回事

不管怎样,有人把战争包装成RPM吗?您是执行热部署还是强制JBOSS/Tomcat重新启动?这是在RPM安装之后还是作为其一部分?你的规范文件是什么样子的?我能举个例子吗?您是签入JBOSS/Java/Oracle客户端规范还是只安装WAR?有什么故事要讲吗?有什么大问题吗? 我应该考虑别的吗? 我可以构建RPM,没问题,但我想听听用WAR文件和JBOSS实现这一点的最佳方法是什么(一些Tomcat仍在运行,但很快就会被淘汰,所以我不太担心它们)

我不需要任何输入

提前谢谢 问候
Chris

我们计划以某种方式在Fedora上标准化Java webapp安装,但目前还没有。 Debian的人创造了一个相当不错的建议,你可能应该阅读它来了解你或多或少需要处理什么

至于JBoss/Tomcat重启,我建议不要这样做。将其留给系统(Web服务器)管理员。他们应该知道他们正在更新什么以及为什么要更新。一直强制重新启动Web服务器会给IMO带来麻烦(特别是当一台服务器承载多个Web应用程序时)


我会把战争放在/usr/share/webapps-java中。然后可能让JBoss/Tomcat使用该目录。也就是说,没有规范文件,对不起。

我已经将WAR文件及其配套配置文件打包为RPM。我的规范文件检查JBoss是否正在运行。如果是,安装将退出,并显示一条错误消息,请求在安装之前停止JBoss

一般来说,通过RPM终止进程或强制重启不是一个好主意。负责安装的人员应该有单独的程序来执行此操作

其他考虑: 1.您的组织是否在同一台服务器上安装了其他设备? 如果是这样,您可能希望标准化服务器上所有安装的路径。(例如,/usr/local/bin/myorg/) 拥有一个自定义*nix用户和组也可能会有所帮助,服务器上的所有安装都会为该用户和组设置文件属性

2.你想要一个可重新定位的RPM吗? 是否有可能更改安装的默认路径?如果是这样,可重新定位的RPM将有所帮助。 在某些情况下,可重新定位的RPM可能无法工作,因此请查看

3.是否要在RPM运行时备份现有部署? 如果是这样,您将需要在SPEC文件中编写该代码

这是我的完整规范文件:
Summary:我的Java项目的摘要
Name:我的Java项目的名称
版本:2.1.2
发布日期:5
要求:jboss>=5.1
建筑拱门:无拱门
组别:互联网/应用
前缀:/usr/local/bin
许可证:(C)版权归我的组织所有
供应商:我的组织
%描述
我的Java项目的描述
%准备
#检查是否已创建WAR文件
%安装
#将war文件复制到buildroot的Jboss部署目录
#将配置文件复制到buildroot的Jboss config目录
%档案
#设置文件权限和所有权
%前
#检查web服务器上是否存在JBoss部署路径。
#如果不是,则退出并显示错误。
#检查web服务器上是否存在JBoss配置文件路径。
#如果不是,则退出并显示错误。
#检查自定义用户“myuser”是否存在。如果不是,则退出并显示错误。
#检查自定义组“mygroup”是否存在。如果不是,则退出并显示错误
#检查JBOSS是否正在运行。如果是,则退出并显示错误。
#如果需要,对现有部署进行备份。
%职位
#如果需要,执行安装后步骤。
echo“安装完成”