Jenkins参数化构建-导出参数&x2B;文本文件的值?

Jenkins参数化构建-导出参数&x2B;文本文件的值?,jenkins,parameterized,Jenkins,Parameterized,免责声明-我不是开发人员:) 我已经创建了一个简单的Jenkins参数化作业,它可以完美地工作。但是,我希望将参数及其值吐出、导出或回显到纯文本文件中。我找不到任何简单的方法来做这件事 具有讽刺意味的是,当我“构建”作业时,Jenkins确实回应了我所需要的确切信息,而它仍然在构建历史栏中等待处理。然后构建完成,信息消失。它以我需要的格式显示每个参数加上值。如何将这些信息写入纯文本文件 这就是它的显示方式 建立历史 32(待定-??) 2014年1月31日01:05:58下午 2014年1月30

免责声明-我不是开发人员:)

我已经创建了一个简单的Jenkins参数化作业,它可以完美地工作。但是,我希望将参数及其值吐出、导出或回显到纯文本文件中。我找不到任何简单的方法来做这件事

具有讽刺意味的是,当我“构建”作业时,Jenkins确实回应了我所需要的确切信息,而它仍然在构建历史栏中等待处理。然后构建完成,信息消失。它以我需要的格式显示每个参数加上值。如何将这些信息写入纯文本文件

这就是它的显示方式 建立历史

32(待定-??) 2014年1月31日01:05:58下午 2014年1月30日上午11:01:45 将“执行Windows批处理命令”类型的生成步骤添加到作业配置中,并将参数值写入文件中-它们将作为环境变量提供。我对Windows不是非常熟悉,但像这样的东西应该可以做到:

@echo off
IF EXIST file goto skip
(echo servername=%servername%) >file 
(echo domaindir=%domaindir%) >>file
... 
:skip
(上面的代码是我从


请注意,您创建的文件将相对于构建的工作区目录,因此将被下一个构建覆盖。如果您想将其保存在更永久的位置,请使用绝对路径,例如c:\dir\file。

有一个插件正好用于此目的:

或者,如果您需要以自己的方式导出参数,例如,如果您需要从“文本参数”导出多行上下文,您也可以使用,同样:

envVars = build.getEnvironment()
data_var = "YOUR_PARAMETER_NAME"
data = envVars.get(data_var)
data_file_path = build.workspace.toString() +  "/" +  data_var + ".txt"

if(build.workspace.isRemote())
{
    channel = build.workspace.channel
    fp = new hudson.FilePath(channel, data_file_path)
} else {
    fp = new hudson.FilePath(data_file_path)
}

if(fp != null)
{
    fp.write(data, null)
} 

您只需编写一点脚本就可以做到这一点-您是否更熟悉Linux或Windows?谢谢!我们只有Windows。Windows批处理脚本或NAnt脚本是出路。脚本工作正常,非常感谢!我试图找到一个方法,列出所有定义的参数,而不在echo语句中单独指定它们。我将使用此插件作为解决方法,非常感谢您的快速回复。此插件在管道构建中似乎不可用:(
envVars = build.getEnvironment()
data_var = "YOUR_PARAMETER_NAME"
data = envVars.get(data_var)
data_file_path = build.workspace.toString() +  "/" +  data_var + ".txt"

if(build.workspace.isRemote())
{
    channel = build.workspace.channel
    fp = new hudson.FilePath(channel, data_file_path)
} else {
    fp = new hudson.FilePath(data_file_path)
}

if(fp != null)
{
    fp.write(data, null)
}