Jenkins管道脚本在文件中写入变量值
我正在从凭证存储中提取用户名/密码,并将其分配给一个变量。我想把这个值写在一个文件中。 我正在使用以下代码:Jenkins管道脚本在文件中写入变量值,jenkins,groovy,jenkins-pipeline,devops,jenkins-groovy,Jenkins,Groovy,Jenkins Pipeline,Devops,Jenkins Groovy,我正在从凭证存储中提取用户名/密码,并将其分配给一个变量。我想把这个值写在一个文件中。 我正在使用以下代码: for (creds in jenkinsCredentials) { if(creds.id == "credential"){ def password = creds.password println(creds.username) println(password)
for (creds in jenkinsCredentials) {
if(creds.id == "credential"){
def password = creds.password
println(creds.username)
println(password)
writeFile file: '\\Jenkins_Home\\workspace\\test\\test.properties', text: 'pass=${password}'
它打印密码的值。
但是它只写pass=${password},而不是密码的值
如何在文件中写入变量值?使用双引号(“)而不是单引号(”),如下所示:
writeFile file: "\\Jenkins_Home\\workspace\\test\\test.properties", text: "pass=${password}"
由于某些原因,管道groovy脚本在单引号(')方面存在一些问题。请尝试Sriram提到的双引号。他认为管道groovy脚本在单引号方面存在问题是正确的 还发现有时双引号也可能是一个问题,它们必须转义(\“”)。看你怎么走 我还有另一个解决方案,您可以将进入文件的文本定义为变量,并将writeFile参数括在括号中,请参见以下内容:
in jenkinsCredentials) {
if(creds.id == "credential"){
def password = creds.password
println(creds.username)
println(password)
def pass = "pass=" + password
writeFile (file: '\\Jenkins_Home\\workspace\\test\\test.properties', text: pass)
我想提取另一个密码并将该密码附加到test.properties文件中。我想提取另一个密码并将该密码附加到test.properties文件中。我不明白你的问题。是否要在与上面相同的循环中更新密码?