Jenkins管道使用现有奴隶的码头工人

时间:2018-01-12 09:30:42

标签: docker jenkins architecture

我们有以下jenkins设置:

  • 詹金斯大师
  • Jenkins Slave1
  • Jenkins Slave2
  • Jenkins Slave3

这些都是虚拟机,从站确实存在。它们不会自动上下生成。

现在我们的构建需要很多工具(maven,python,aws cli,...)。我们可以在每个奴隶上安装每个工具,一切都会正常工作。 但我们想要建立一个码头工人的方法。

我见过的几乎所有教程都在Docker中使用奴隶。他们使用像Kubernetes这样的编排工具,并在Docker中创建奴隶,做他们的东西并再次删除pod。

我们无法做到这一点:

  

问题:使用“旧的”Jenkins设置是一种不错的方法吗?   真正的VM奴隶,我们使用docker?

我正在考虑的是编写一个管道,在每个阶段我们都使用一个docker容器:

  • 开始构建(它将选择一个奴隶,例如Slave1)
  • 管道将启动
  • stage1:旋转,例如一个python容器:git clone和execute python命令。将卷装入工作区??
  • stage2:sping up eg aws容器并挂载工作空间的内容并执行新命令等。

有人可以评估这种方法吗?

1 个答案:

答案 0 :(得分:2)

这是一种非常好的方法。实际上,jenkins docs under Using multiple containers section下记录了这样做的方法。

在每个阶段,你基本上都会使用必要的工具来启动一个容器,你可以使用一个音量来预测从舞台到工作区的输出,以便其他 阶段可以使用它。