我们将我们的应用程序打包为.war文件,我们宣传支持JBoss AS5并指示我们的客户将.war复制到他们的JBoss'deploy'目录中,并启动他们的应用程序服务器以部署.war。
我们正在引入对JBoss AS7的支持,因此我们对AS7的部署指令必须改为
-copy the application.war to $JBOSS_HOME/standalone/deployments
-touch $JBOSS_HOME/standalone/deployments/application.war.dodeploy
-start JBoss AS7
这种deployent方法对我来说似乎很尴尬,而且可能很脆弱,因为无法成功创建* .dodeploy文件会导致部署失败。此外,JBoss启动问题可能导致部署失败,导致* .dodeploy文件被重命名* .failed - 因此在尝试重新部署之前必须将其重命名为* .dodeploy。我们认为这个过程对于一些可能不熟悉JBoss AS7的客户来说有点尴尬。
有没有办法自动化这个部署过程,这样对于那些可能不熟悉JBoss AS7的工作方式的部署人员来说更顺畅?其他人如何处理这种情况?谢谢你的任何建议。
答案 0 :(得分:8)
有一个相当容易使用的网络界面。您可以通过转到http://localhost:8080启动JBoss AS7后访问它。该页面上有一个链接,可以将您带到管理控制台。
您还可以使用CLI界面编写部署脚本。这里有一些关于如何使用它的信息https://docs.jboss.org/author/display/AS7/Management+Clients。
最后,您始终可以编写自己的Java客户端来部署应用程序。我写了一篇blog post一段时间来讨论如何编写自定义部署CLI界面。
答案 1 :(得分:6)
如果您知道标记文件,那么您可能已经有意识地选择禁用部署文件夹的自动部署模式,该文件夹默认启用。 Autodeploy非常适合除爆炸文件之外的所有内容,并且无需手动管理标记文件。启用autodeploy后,您可以在应用程序本身上使用“touch”命令,该命令将更新timstamp并触发应用程序进行部署(或重新部署)。因此,如果需要,您仍然可以编写脚本,但请关注文件而不是标记文件。
仅供参考,有五种方式可以部署文件,其中三种方式对于典型的管理设置是通用的。这些是图形管理控制台,管理命令行界面(CLI)和您提到的部署文件夹。另外两个是通过IDE(例如JBoss Developer Studio或带有JBoss Tools的Eclipse),甚至是通过Maven。
对于那些可能不熟悉脚本的人,您可以不通过Console GUI中的Manage Deployments部分。控制台部署不会将应用程序移动/复制到部署文件夹,因此使用控制台和部署文件夹可以在文件管理方面做出一些努力。
对于精通bash的用户,CLI非常棒,AS7团队经常建议将其作为部署和管理应用程序的首选方法。 CLI上的用户指南部分位于:https://docs.jboss.org/author/display/AS7/Admin+Guide#AdminGuide-RunningtheCLI。
其中一位开发人员可以在此YouTube视频中找到所有部署方法的示例:"5 ways to deploy your application to JBoss AS 7"。希望有所帮助。
答案 2 :(得分:5)
您只需要.dodeploy即可进行爆炸式部署。如果您的部署是拉链战争,耳朵等。然后它会自动拾取。
答案 3 :(得分:5)
将部署模式从 手动 更改为 自动 ,自动执行此部署。
步骤:
1)打开jboss配置文件: standalone.xml 。
2)寻找部署扫描程序并添加 auto-deploy-zipped =“true”
<deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir"
path="deployments" auto-deploy-zipped="true" auto-deploy-exploded="false"/>
3)重启你的Jboss。
现在它会自动选择你的压缩版ear / war / jar / sar文件进行部署。
答案 4 :(得分:2)
您仍然可以在不使用任何标记的情况下使用旧脚本。
可以通过更改standalone.xml配置文件中deployment-scanner元素的“auto-deploy”属性来更改standalone.xml中的内容。
可以在部署文件夹README中找到更多详细信息。