我有一个使用ansible-playbook的Jenkinsfile实例来部署webmachine。
我需要一次指定多个ansible-playbook参数。
我得到了
WorkflowScript:25:多次出现参数部分
我的jenkinsfile就是这样,
pipeline {
agent none
stages {
stage('docker-compose up') {
input {
message "Should we continue?"
ok "Yes, do it!"
parameters {
string(name: 'KIBANA_TAG', defaultValue: '', description: 'input tag for ansible command.')
}
parameters {
string(name: 'FLUENT_TAG', defaultValue: '', description: 'input tag for ansible command.')
}
parameters {
string(name: 'ES_TAG', defaultValue: '', description: 'input tag for ansible command.')
}
parameters {
string(name: 'HOST', defaultValue: '', description: 'input tag for ansible command.')
}
}
steps {
sh "rd6-admin@qa ansible-playbook /tmp/qa/docker-compose-up.yml -e fluent_tag=${params.FLUENT_TAG} -e kibana_tag=${params.KIBANA_TAG} -e es_tag=${params.ES_TAG} -e host=${params.HOST}"
}
}
}
}
我应该修复哪一部分?
答案 0 :(得分:2)
parameters {
string(name: 'KIBANA_TAG', defaultValue: 'default', description: 'input tag for ansible command.'),
string(name: 'FLUENT_TAG', defaultValue: 'default', description: 'input tag for ansible command.'),
string(name: 'ES_TAG', defaultValue: 'default', description: 'input tag for ansible command.'),
string(name: 'HOST', defaultValue: 'default', description: 'input tag for ansible command.')
}
试试这个。多次出现参数部分意味着只允许一个参数{},您必须将参数放在那里。
答案 1 :(得分:2)
逗号分隔符在版本2.222.1。中不起作用。我删除了逗号,现在可以使用了。
parameters {
string(name: 'KIBANA_TAG', defaultValue: 'default', description: 'input tag for ansible command.')
string(name: 'FLUENT_TAG', defaultValue: 'default', description: 'input tag for ansible command.')
string(name: 'ES_TAG', defaultValue: 'default', description: 'input tag for ansible command.')
string(name: 'HOST', defaultValue: 'default', description: 'input tag for ansible command.')
}