将凭证环境变量模板放入Jenkinsfile / Groovy

时间:2018-11-16 13:23:55

标签: jenkins groovy environment-variables jenkins-pipeline

我有5个变量,这些变量以标准方式从存储的凭证绑定到Jenkinsfile中。

例如

withCredentials([
    file(credentialsId: 'var1', variable: 'VAR1')
    string(credentialsId: 'var2', variable: 'VAR2')
])

我需要将这些变量模板化为文件,如下所示:

VAR1 =(var1值)

VAR2 =(var2值)

将由docker-compose作为env文件使用。

我尝试使用简单的模板

是模板文件(vars.tmpl.groovy)

VAR1=${VAR1}
VAR2=${VAR2}

在Jenkins文件中包含以下内容

template = readFile('vars.tmpl.groovy')

binding = [VAR1: VAR1, VAR2: VAR2]

engine = new groovy.text.SimpleTemplateEngine()

output = engine.createTemplate(template).make(binding)

然后我想将变量的内容写到文件中。

我发现的问题是:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to groovy.lang.Binding

所以我的问题是:

  1. 如何解决这个问题?
  2. 有没有更好的方法可以做到这一点?

0 个答案:

没有答案