Jenkins应该在开发/部署环境中运行还是在独立的机器上运行

Jenkins应该在开发/部署环境中运行还是在独立的机器上运行,jenkins,Jenkins,我使用Vagrant提供“同步”和标准化的开发/测试/uat/阶段和生产环境 我现在正在研究如何标准化我的CI构建过程。我喜欢Jenkins的外观,但我不知道部署它的最佳方式是什么。我应该将其部署在独立的CI盒中,还是将其安装在所有不同的环境中 我想我有点糊涂了。非常感谢您的帮助。标准方法是由开发团队共享一个独立的CI服务器。这个公共服务器(在一个众所周知的URL上)为团队提供了开发仪表板,也是发布到发布库中的唯一授权方式(不允许开发人员直接发布) 您可以申请额外的学分,还可以设置一个实例,我认

我使用Vagrant提供“同步”和标准化的开发/测试/uat/阶段和生产环境

我现在正在研究如何标准化我的CI构建过程。我喜欢Jenkins的外观,但我不知道部署它的最佳方式是什么。我应该将其部署在独立的CI盒中,还是将其安装在所有不同的环境中


我想我有点糊涂了。非常感谢您的帮助。标准方法是由开发团队共享一个独立的CI服务器。这个公共服务器(在一个众所周知的URL上)为团队提供了开发仪表板,也是发布到发布库中的唯一授权方式(不允许开发人员直接发布)

您可以申请额外的学分,还可以设置一个实例,我认为它更适合作为开发仪表盘,提供更丰富的指标集,还可以作为开发的历史记录

最后,Jenkins的设置非常简单,没有什么可以阻止开发人员运行他们自己的实例。我发现,一旦发布凭证得到适当控制,使用Sonar,构建在何处实际运行就越来越不重要了。事实上,这种态度很重要,因为它可以防止构建服务器变成一个微妙的:-)

更新
Jenkins提供了一个可用于运行当前流程的工具。

您最好将Jenkins作为一个共享的独立服务器运行

然而我强烈建议您以这样一种方式设置构建,即它们也可以在每个开发人员的本地机器上运行。这对于单元测试尤其关键

在我们的设置中,我们有一个共享的Jenkins服务器,它使用NAnt执行所有构建。每个开发人员还安装了NAnt,可以自由运行构建的构建和单元测试部分。理想情况下,集成测试也可以运行,但我们还没有做到这一点,让它们在CI服务器上执行仍然会给我们提供适当的反馈,即使需要更长的时间才能获得