如何 运行 Jenkins 作业在多个奴隶上与一个单一的工作配置?

How to run Jenkins jobs on multiple slaves with a single job configuration?

我有三个不同的环境,每个环境都包含一个 Jenkins Slave,

第一阶段 - slave1
第二阶段 - slave2
第三阶段 - slave3

我不想为他们创建三个不同的构建作业。

我想将奴隶(slave1slave2slave3)作为参数传递,这样如果我选择 slave1,作业就会在 STAGE1,如果我选择 slave2,作业将在 STAGE2 上执行,依此类推。

如何使用单个 Jenkins 作业实现该目标?

我知道有多个配置作业,但我不清楚如何配置它。

如果我能得到一些关于它的信息,那将非常有帮助。

我在测试自动化领域工作,我需要维护不同的环境并将作业部署到 Jenkins,我不确定它是否有帮助,如果有帮助我会分享代码片段(如果需要)。

我没有为环境做精确的事情,但我已经在浏览器上实现了这件事,我使用 maven 作为我的构建工具,所以我在我的代码中进行了配置,它将获取与我相同的浏览器传入设置为单个 Jenkins 作业目标的命令。

Goal example: mvn clean verify -Dtest=test.xml -Dbrowser=chrome

对于多个环境也可以这样做,您可以在 POM 文件中设置一个默认从站并进行更改配置更改,或者您可以创建 3 个多个文件,如 XML,其中将包含您的可执行文件并添加它们作为詹金斯单一工作的参数。

我明白了。可以使用

来实现

Node and Label Parameter Plugin

它允许您在作业配置中创建节点和标签参数。

节点参数包含您的 Jenkins 中存在的所有节点,包括主节点,您可以select您想要的节点。

当您 运行 带有参数的作业时,您可以 select 所需的节点,作业将在该特定节点中执行。

您好,借助以下配置,我能够同时在多个服务器 (nodes/slaves) 中触发相同的作业。

首先你必须创建如下截图所示的项目

enter image description here

然后配置如下

enter image description here