resources - Jenkins - 管理资源池

标签 resources jenkins nodes pool

我正在尝试建立一个 Jenkins 系统,其中某个程序必须在网络上的板上运行,使用 telnet 访问。我们在这里讨论了数百个这样的工作,因此我们将设置多个董事会。因此,每个作业必须分配一个板,但问题是只有一个作业可以同时拥有某个板,否则程序将失败。

我现在的解决方案是使用主从设置,我使用 SSH 连接到同一台机器(因此在同一台机器上有一个主站和多个从站)。每个从节点都有一个标签,用于程序必须 telnet 到的 IP 地址。这有效,调度明智,但它可能会导致问题,因为所有节点都使用 SSH 连接到同一台机器。使用 SSH 连接到电路板不是一种选择。

有没有办法获得与上述相同的功能,但不使用 SSH 连接到同一台机器?所以基本上我想说的是:我们有 n 台可用的机器,当一个工作进来时,给它一台机器,然后给它一个属于那台机器的标签(在这种情况下是它的 IP 地址);现在还剩下 n-1 台机器。
互斥接近,但不允许上述功能,等待资源的作业占用节点的执行程序之一。

非常感谢!

最佳答案

我意识到你的问题可能在几年前就已经解决了,但万一其他人正在寻找答案并遇到这个问题。

可以使用“Lockable resources”插件,将ip地址设置为资源名称,使用label等方式使用test-board-ip,简单易用。

另一种可能性是使用“外部资源调度程序”插件。它提供了更多的可能性,但它有一个错误,有时会导致它挂起。似乎不再有维护(2013 年的最新更新)。

关于resources - Jenkins - 管理资源池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565434/

相关文章:

C++ - 将原始指针分配给链表中的 unique_ptr 节点

android - Android 的重用技巧

java - 获取操作系统级别的系统信息

javascript - 关闭和垃圾收集 : most efficient way to remove consecutive nodes from a linked list

jenkins - 如何在 jenkins 中使用 gradle 编译 @Library @NonCPS

Jenkins 超时/中止异常

C-尝试将节点添加到链表末尾会导致崩溃

从资源生成的 C++/Win32 对话框行为不正常

asp.net - 编辑资源文件而不重新编译 ASP.NET 应用程序

Jenkins MSBuild 失败,错误 NETSDK1064 : Package Microsoft. CodeAnalysis.Analyzers,未找到版本 2.9.3