Jenkins - 使用“循环”参数运行并发作业

时间:2015-08-14 01:25:55

标签: jenkins

我想在Jenkins中同时运行多个版本来完成同样的工作。我同时运行最多3个版本。我希望每个构建都使用参数运行,该参数必须是参数池唯一的参数。例如,pool = [1,2,3]:第一个构建选择“1”,第二个选择“2”,第三个选择“3”。

我必须确保不同的版本不能选择相同的参数。

构建完成后,该参数再次可用。

我该怎么做?

替代方案:如何计算此项目中运行的构建数量并将其作为参数传递?

2 个答案:

答案 0 :(得分:0)

首先,选择名为#include <iostream> #include <string> class Base { public: Base(std::string (*funcPointer)()) { execute = funcPointer; } std::string (*execute)(); }; std::string StandaloneExecute() { return std::string("StandaloneExecute"); } class Derived: public Base { public: Derived() : Base(StandaloneExecute) {} std::string execute() //this hides the parent execute { return std::string("Derived::Execute"); } }; int main() { Derived d; std::cout << d.execute() << std::endl; //this will print Derived::Execute std::cout << static_cast<Base>(d).execute() << std::endl; //this will print StandaloneExecute return 0; } 的复选框按钮,以确保可以同时构建相同的作业。

之前,你最好认真阅读help-html

用于构建不同作业的隔离环境使得数据无法以简单的方式相互共享。

这是一个解决方案,通过 jenkins rest api 触发build-concurrently-if-neccesary链接,以控制您自己的程序过程中的池。

  
      
  1. 在job的配置中添加一个字符串参数。
  2.   
  3. 将字符串参数发布到buildWithParameters
  4.   

如果找不到可用的插件,也许这是最方便的方法。

答案 1 :(得分:0)

我在github中找到了一个插件,并要求作者发布它。它运作良好并解决了我的问题。

Jenkins Parameter Pool Plugin