我们如何访问工作流兼容的jenkins插件中的敏感变量?

时间:2015-06-18 13:01:10

标签: jenkins jenkins-workflow

我尝试使用jenkins gradle plugin并使其与新的工作流作业类型兼容。我已经达到了这样的程度,我可以使用这样的东西,它会非常成功地运行gradle:

step([$class: 'Gradle', 
           switches: "-PenableInstallerDistribution=true",
           tasks: 'build install',
           gradleName: '(Default)',
           useWrapper: true,
           makeExecutable: true,
           fromRootBuildScriptDir: true,
           useWorkspaceAsHome: true])

然而,我不得不做出一些牺牲。我不得不删除这些行:

Set<String> sensitiveVars = build.getSensitiveBuildVariables();
args.addKeyValuePairs("-D", fixParameters(build.getBuildVariables()), sensitiveVars);

我找不到任何方法来访问敏感变量&#34;从提供的Run对象代替旧的AbstractBuild并将控制台输出中的密码弹出似乎是一个坏主意。 (我相信代码试图避免这样做;我没有写原文。)

1 个答案:

答案 0 :(得分:2)

目前没有Run.getSensitiveBuildVariables(),但有可能需要一个ProcStarter。无论如何,这种方法只是与其他插件进行通信这些变量可能被视为各种用途的秘密;它不负责使****命令行中包含的密码在构建日志中显示为ArgumentListBuilder.addMasked,这将使用AbstractBuild完成。

快速回答是,等待更新的API,如果没有NewImage.onload = ImageLoadComplete(); ,您应该跳过此块。