如何在Jenkins Ansible Playbook插件中指定多个tags?
问题原因
报错信息已经明确说明,Jenkins Ansible插件的ansiblePlaybook方法的tags参数仅接受字符串类型值,你传入了数组格式的标签列表,所以触发了类型转换异常。
正确配置方法
将多个标签用英文逗号拼接为单个字符串传入即可,修正后的流水线配置如下:
ansiColor('xterm') { ansiblePlaybook( playbook: "test.yml", inventory: "test-inventory.yml", vaultCredentialsId: "ansible-vault-password", extras: '-v', tags: "test1,test2", extraVars: [ examplefname: "bob", exampleLname: "${PROFILE}", ], hostKeyChecking: false, colorized: true ) }
动态多标签处理
如果你需要从动态生成的标签列表传入值,可以先将列表拼接为逗号分隔的字符串再赋值,示例如下:
// 示例动态标签列表 def myTags = ["test1", "test2", "prod"] // 调用join方法拼接为字符串 ansiColor('xterm') { ansiblePlaybook( // 其余配置保持不变 tags: myTags.join(','), // 其余配置保持不变 ) }
内容的提问来源于stack exchange,提问作者Eva
相关产品推荐
相关产品推荐

