我感兴趣的是,如果有人之前已经做过类似的事情,那么它是如何解决的。我们有一个约有15名奴隶的詹金斯农场。现在每个从属设备都有自己的工作空间本地磁盘,但我们的工作并不依赖于特定的从属设备。这意味着如果Job 1最初在Slave1上运行,但后来不得不切换到Slave2,则必须再次提取代码。这似乎是下载时间和磁盘空间方面的浪费,因为代码现在在两个从属服务器上重复。
在所有从属服务器上安装共享NFS驱动器(或其他一些共享驱动器)是一个好主意,这样作业就可以在任何从服务器上运行,但磁盘对所有服务器来说都是一样的吗?显而易见的风险是延迟,但是还有其他风险吗?
谢谢!
答案 0 :(得分:2)
假设您的网络状况良好并且您的坐骑设置正确,我认为此方法没有任何问题。正如您所建议的那样,您将节省时间,但需要支付网络运输费用 我建议你和一些奴隶一起试试并做一些替补标记。
我希望这会有所帮助。
答案 1 :(得分:2)
我能想到的唯一不利方面是,如果你想同时在多个奴隶上建立相同的工作(不是詹金斯的默认行为,但它是可能的)。在这种情况下,您将使用相同的工作空间目录进行多次构建。
答案 2 :(得分:2)
鉴于磁盘空间如此便宜和快速,我真的怀疑你会从你的计划中看到任何好处。
相反,我可以想到几个缺点:
如果您担心结帐时间,可以通过以下方式进行优化:
根据您使用的版本控制系统,具体操作方法略有不同。也可能有其他技巧你可以做:浅克隆,使用参考回购,......
我非常确定您可以将结帐时间设为无问题。磁盘空间的使用更难以消除,但通常磁盘足够便宜。如果您拥有小而快的SSD磁盘,通常可以在构建结束时从工作区清理生成的文件以节省空间。 (我的确正如此。)
答案 3 :(得分:0)
Jenkins加密在主机A和主机B之间可能有所不同,因此凭据将被破坏