просто мне нужно написать конвейер jenkinsfile, который содержит варианты, и этот выбор прибывает из другого скриптового скрипта, который предоставляет карту на этой карте, я могу добавить имя среды и 3 значения DB, APP, WEB, поэтому, когда я начинаю создавать новую работу Я получаю сборку параметров с возможностью выбора имени среды DEV, QA, UAT и в соответствии с этим выбором она передаст карту / список из трех IP-адресов для DB, APP, WEB, чтобы я мог использовать эти значения во время сборки
/ env.groovy
def DEV = [ DB : 10.0.0.5 , APP : 10.0.0.10 , WEB : 10.0.0.15 ]
def UAT = [ DB : 10.0.0.20 , APP : 10.0.0.25 , WEB : 10.0.0.30 ]
def QA = [ DB : 10.0.0.35 , APP : 10.0.0.40 , WEB : 10.0.0.45 ]
взять эти значения из файла env.groovy и передать их на выбор в Jenkinsfile, чтобы я мог получить раскрывающееся меню с помощью (DEV - UAT - QA)
прежде чем я нажму build
Я не хочу добавлять эти значения в Jenkinsfile, мне нужно добавить его в отдельный скрипт groovy (env.groovy)
это для нового конвейера Jenkinsfile, который работает на сервере Ubuntu Jenkins
String[] env = env()
pipeline {
agent any
properties([
parameters([
choice(
choices: env,
description: 'Select the environment',
name: 'ENV',
)
])
])
stages {
stage('deploy') {
steps {
sh "echo ${ENV}"
}
}
}
}
ожидание вывода списка переменных среды DB, APP и WEB, поэтому я могу быть уверен, что смогу передать эти значения другому сценарию оболочки, который добавлю позже для развертывания, но я не получил это меню на первом месте и я получаю эту ошибку
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: The ‘properties’ section has been renamed as of version 0.8. Use ‘options’ instead. @ line 5, column 5.
properties([
^
1 error
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:133)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:126)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:320)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE