如何使用Puppet在Jboss中部署EAR / WAR

时间:2015-12-08 16:35:55

标签: deployment jboss puppet

对于我正在进行的项目,我们使用Jenkins进行CI设置。

我们现在想要使用Puppet设置持续交付(CD)。

这是我们的开发环境规范

  • Windows 2008 Server
  • Jboss-SOA-P(jboss AS 5.1应用服务器) - 2个实例
  • Jenkins for CI
  • 已安装的Puppet Learning VM(我们正在评估,因此我们没有安装Puppet Enterprise的许可证。)

我的问题是:如何使用Puppet在已安装的Jboss服务器(在Windows m / c上)上自动部署我的应用程序?

2 个答案:

答案 0 :(得分:1)

对于我的组织,我使用以下工具来实现持续交付和持续集成

Foreman:配置和ECN(外部节点分类器)

Puppet Master:   这将在我们的主服务器

中运行

Puppet Agents:   在其他服务器上

<强>詹金斯:    在主服务器上

用于在另一台服务器上维护登台和发布存储库的Nexus存储库

安装在puppet master中的nexus存储库模块。它具有连接到nexus存储库的逻辑,从&#34;发布&#34;获取最新版本。存储库。

  

流速:

     
      
  • 我有一个jenkins工作被定义,其目的是确保构建不会中断,在发布时,我执行maven发布
      然后将最新版本上传到nexus发布存储库。

  •   
  • 在工头中加载nexus存储库模块并映射&#34; Nexus&#34;我所有服务器的课程。这是允许我执行的关键部分   在工头中单击按钮进行云部署。为此,您需要拥有自己的puppet文件来执行dbmigration,undeploy和deployment。我总是为我的所有项目编写一个部署maven模块,这些模块只有这些木偶文件,允许我一次性在所有服务器上执行部署。

  •   

由于您已经熟悉CI和CD,我希望我的陈述是自我解释的

答案 1 :(得分:0)

如果不知道您希望如何部署应用程序,则很难准确回答如何执行此操作。但我会看看能否指出你正确的方向:

伪造到deploy JBoss with Puppet的现有模块。我建议您查看并查看是否能找到符合您要求的产品。

然后,您可以集成源代码控制,以便在签入时自动将更改部署到JBoss实例。

这里有一个使用Puppet与Tomcat和Maven进行持续交付的例子。这已经有几年了,但概念仍然适用:http://www.slideshare.net/carlossg/2013-02-continuous-delivery-apache-con

这里也是CloudBees与Puppet和Jenkins(其中有很多Jenkins背后的工程师)交换意见的例子https://www.cloudbees.com/event/continuous-delivery-jenkins-and-puppet-debug-bad-bits-production

此处还有一个普通的PuppetLabs:https://puppetlabs.com/blog/whats-continuous-delivery-get-speed-these-great-puppetconf-decks

另外:我不想听起来太过销售,并且完全披露,我在PuppetLabs工作。 But you can use Puppet Enterprise with up to 10 nodes for free,所以我建议过度使用学习虚拟机,它不是真正用于托管应用程序的。