我想在Jenkins中同时运行多个版本来完成同样的工作。我同时运行最多3个版本。我希望每个构建都使用参数运行,该参数必须是参数池唯一的参数。例如,pool = [1,2,3]:第一个构建选择“1”,第二个选择“2”,第三个选择“3”。
我必须确保不同的版本不能选择相同的参数。
构建完成后,该参数再次可用。
我该怎么做?
替代方案:如何计算此项目中运行的构建数量并将其作为参数传递?
答案 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;
}
的复选框按钮,以确保可以同时构建相同的作业。
用于构建不同作业的隔离环境使得数据无法以简单的方式相互共享。
这是一个解决方案,通过 jenkins rest api 触发build-concurrently-if-neccesary
链接,以控制您自己的程序过程中的池。
- 在job的配置中添加一个字符串参数。
- 将字符串参数发布到
醇>buildWithParameters
如果找不到可用的插件,也许这是最方便的方法。
答案 1 :(得分:0)
我在github中找到了一个插件,并要求作者发布它。它运作良好并解决了我的问题。