У меня есть 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}
со следующим в Jenkinsfile
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
Итак, мои вопросы:
- Как я мог обойти эту проблему?
- Есть ли лучший способ, которым я мог бы сделать это?