为开发/测试/产品运行Jenkins Slaves的优点/缺点?

时间:2017-01-11 05:49:36

标签: jenkins docker continuous-integration continuous-deployment jenkins-workflow

让我们首先同意我们要遵守典型的Docker / DevOps原则。因此,我们希望将任务隔离,控制配置版本和整体定制保持在最低限度。

景观:

  • Jenkins被用作您选择的云实例上的CI / CD工具。

计划:

  • 为test / staging / prod创建单独的实例,每个实例都安装了Docker
  • 在每个实例上调整Jenkins从属容器,这些容器由Jenkins master
  • 控制
  • 当提交被发送到'test'分支时,Jenkins master将任务发送到'Test'slave,最终将应用程序版本旋转
  • 同样,在成功运行测试并将代码推送到staging或prod分支后,Jenkins将拥有分支相应的slave构建应用程序。

问题:

  • 这种方法有什么问题?
  • 这种方法可以改进什么?

1 个答案:

答案 0 :(得分:2)

在采用这种方法时,您应该问自己一些问题,this博文中涵盖了很多问题。

最后一段建议将docker socket暴露给CI容器,允许您在主机上而不是在CI容器内构建映像,从而避免了在Docker中运行Docker所带来的许多痛苦。

您应该问的其他问题是用于控制主容器和从属容器的编排服务。我很高兴跟随Stelligent的this博客文章,使用Cloudformation堆栈快速创建我在AWS ECS上所需的所有内容,但其他解决方案显然是一种选择。

总而言之,只要您谨慎行事并遵循最佳做法,我认为您的方法没有任何问题。 祝你好运。