如何将变量从一个Jenkins作业传递到另一个Jenkins作业并在maven build命令中使用

kqqjbcuj  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(254)

我必须为我的项目设置Selenium UI自动化作业。第一个作业将运行所有测试用例,失败的用例将保存在静态文件位置。
我需要触发一个下游作业,在那里我需要使用文件值作为输入参数。
我写了代码从文件中读取内容(执行Windows批处理命令)

set /p failedCases=<failedCases.txt

我如何将此传递给下游作业?我需要在下游项目中使用它作为maven构建参数,如下所示。

mvn clean install -Dgroups=${failedCases}

我想,在第一个作业中设置环境变量并从第二个作业中读取它应该可以完成这项工作,但是,作为Jenkins的新手,我不确定如何做到这一点。任何帮助或建议都非常感谢。

soat7uwm

soat7uwm1#

要将failedCases变量的值从一个Jenkins作业传递到另一个Jenkins作业,您可以使用“Parameterized Trigger”插件。以下是关于如何实现这一目标的分步指南:
1.如果你还没有在Jenkins示例中安装“参数化触发器”插件。您可以从Jenkins插件管理器安装它。
1.在第一个作业中,从文件中阅读内容后,使用“EnvInjectPlugin”将failedCases值设置为环境变量。您也可以从Jenkins插件管理器安装此插件。
1.在现有代码中,从文件阅读内容后添加以下行:
echo“failedCases=${failedCases}”> env.properties
这将创建一个名为www.example.com的文件env.properties包含环境变量failedCases。
1.在第一个作业中添加一个构建步骤以存档env.properties文件。这将使下游作业可以访问该文件。您可以使用“Archive the artifacts”构建后操作来实现这一点。
1.在您的第一个作业中,添加“Parameterized Trigger”构建步骤。按如下方式配置:
选择“Trigger/call buildon other projects”选项。在“Projectstobuild”字段中指定下游项目的名称。在“预定义参数”部分下,单击“添加参数”按钮并选择“属性文件中的参数”。在“Properties File Path”字段中,输入env.properties。这将从第一个作业存档的文件中读取环境变量。
1.在第二个作业中,修改Maven build命令以使用groups参数,如您所述:
mvn clean install -Dgroups=${failedCases}
请让我知道这是否有帮助。

相关问题