2014-03-26 82 views
1

我是全新的Openstack和Chef工具。 我想建立一个持续交付过程,其中我想象类似以下内容:Openstack + Chef + Jenkins持续交付

从詹金斯创建一个管道,我们有乔布斯:

  • 作业1:编译,运行单元测试+静态分析和将RPM构建/构件部署到Artifactory中。
  • Job2:从Artifactory下载RPM文件,并将它们全部保存到Yum存储库中。
  • Job3:在Openstack实验室基础结构(路由器,专用网络,具有干净映像的节点)中进行清理和重新创建。之后,清理并重新注册厨师服务器中的这些节点,指定每个节点将具有的运行列表食谱。
  • Job4:使用Job3中创建的基础架构运行功能和集成测试。发布结果。

的疑问我是如何实现作业3,我看到了实现这个在詹金斯配置OpenStack的命令行作为新星和中子使用方式,以及厨师还使用刀和厨师的客户端命令,但对于所有我可以访问OpenStack控制器服务器和所有主厨节点。 有没有更简洁的方式来实现这一点,而不只是使用命令行,像Jenkins插件,厨师食谱或其他方式? 我不喜欢在Jenkins配置中添加的东西,那是不受版本控制的,我想要一些类似厨师食谱的东西来执行所有Openstack和Chef基础架构设置,并在版本控制下使用这些食谱。但我不知道如何通过食谱实现所有这些,以及如何将它们应用于詹金斯。 这是正确的想法,我有或有其他方法来实现这种方法?

谢谢你的帮助。

+0

不熟悉任何openstack jenkins插件。我认为命令行可能是唯一的方法。 –

回答

0

对于供应和编排应用程序基础架构,我建议使用Heat。一个YAML文件描述了你想要的应用程序环境。

openstack文档描述了nova服务器如何使用cloud-init来configured using chef at boot time

希望这有助于

0

还要考虑使用CloudMunch其集成到OpenStack的输送持续交付和部署。

声明:我在CloudMunch工作。