如何将Vagrant与Jenkins结合起来,实现完美的持续集成环境?

Rob*_*loi 84 continuous-integration jenkins vagrant

您有一个项目需要运行一些SW要求(例如:Apache的特定版本,PHP版本,MySQL数据库实例和其他几个软件).

您已经发现了Vagrant,因此您的虚拟环境都已设置完毕.您可以从配置文件和烹饪书中创建框.

您还了解了Jenkins等持续集成系统的优势.

现在,您希望将这两个世界(Vagrant和Jenkins)结合起来,以获得完美的持续集成环境.更具体地说,您不希望在运行Jenkins的计算机上安装项目所需的SW,但是您希望使用Vagrant提供的虚拟环境来定期构建项目.CI软件(Jenkins)将为您构建Vagrant框,并在其顶部构建和测试您的项目.

您将如何设置环境来实现此目标?

Lar*_*Cai 34

对于构建系统来说这是一个很好的解决方案,我的建议是:

  1. 您当前的jenkins作为主CI(可能由用户jenkins启动)
  2. 在同一台机器或另一台机器上创建另一个用户以作为jenkins从属模式
    • jenkins slave可以从jenkins master调用,它可以使用不同的用户,如有流浪者权限和环境的流浪汉,因此它不会干扰原来的jenkins主服务器
    • 创建您的基本流浪者框,然后可以重复使用它来加速部署
  3. 大多数安装信息(包)可以由木偶(或厨师)管理,以便加载到您的虚拟机包装盒中.

也许你可以看看veewee,它可以在飞行中创造流浪盒.

以下是使用Jenkins CI和Vagrant为我的指南提供更容易的CI.

  • 如果有人对损坏的链接感兴趣,这里有一份 [使用 Jenkins CI 和 Vagrant 让 CI 更容易](https://web.archive.org/web/20160209123318/http://www.larrycaiyu.com/博客/2011/10/21/make-ci-easier-with-jenkins-ci-and-vagrant/) (4认同)
  • 不幸的是,您的链接已损坏 (2认同)

Chr*_*iak 12

您可以尝试目前支持Jenkins CD 1.532.3的Jenkins Vagrant插件

你可以在http://unethicalblogger.com/2012/03/13/vagrant-plugin-in-action.html看到这个插件的演示.

  • 这个插件不支持Jenkins 1.490以上,所以这是一个很大的限制:-( (7认同)
  • 上面提到的插件有一些令人讨厌的问题,但仍然没有修复(https://issues.jenkins-ci.org/browse/JENKINS-26326),并且开发在一年前停止了.不建议. (2认同)