对于我正在进行的项目,我们使用Jenkins进行CI设置。
我们现在想要使用Puppet设置持续交付(CD)。
这是我们的开发环境规范
我的问题是:如何使用Puppet在已安装的Jboss服务器(在Windows m / c上)上自动部署我的应用程序?
答案 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,所以我建议过度使用学习虚拟机,它不是真正用于托管应用程序的。