Jenkins 为什么在 tokenize(', ').join('\n') 之后保留 [ ]?
Jenkins why stay [ ] after tokenize(', ').join('\n')?
在 ENV 的 jenkins 管道中,我有主机列表
退出带有主机列表的 YAML
matching_hosts:
- dev-app-0004
- dev-app-0005
- dev-app-0006
詹金文件
def jenkins_ci_examples = [:]
jenkins_ci_examples.project_vars = readYaml file: 'vars/project_vars.yml'
env.target_hosts=jenkins_ci_examples.project_vars.matching_hosts
詹金斯日志:
+ printenv
target_hosts=[dev-app-0004, dev-app-0005, dev-app-0006]
在我想转换主机列表后要在文件主机中保存什么
writeFile file: "hosts", text: "[project1]\n" + env.target_hosts.tokenize(', ').join('\n')+ "\n"
sh "cat hosts"
结果
[project1]
[dev-app-0004
dev-app-0005
dev-app-0006]
如何去掉符号“[”和“]”?
您可以通过以下方式使用它:
target_hosts=["dev-app-0004", "dev-app-0005", "dev-app-0006"]
writeFile file: 'hosts.txt', text:"[project1]\n" + env.target_hosts.join('\n')+ "\n"
输出:
编辑:
根据问题,在不使用 "
的情况下,您可以使用如下:
writeFile file: 'hosts.txt', text:"[project1]\n" + target_hosts.tokenize(', ').join('\n').replaceAll("[\[*\]]","") + "\n"
在 ENV 的 jenkins 管道中,我有主机列表
退出带有主机列表的 YAML
matching_hosts:
- dev-app-0004
- dev-app-0005
- dev-app-0006
詹金文件
def jenkins_ci_examples = [:]
jenkins_ci_examples.project_vars = readYaml file: 'vars/project_vars.yml'
env.target_hosts=jenkins_ci_examples.project_vars.matching_hosts
詹金斯日志:
+ printenv
target_hosts=[dev-app-0004, dev-app-0005, dev-app-0006]
在我想转换主机列表后要在文件主机中保存什么
writeFile file: "hosts", text: "[project1]\n" + env.target_hosts.tokenize(', ').join('\n')+ "\n"
sh "cat hosts"
结果
[project1]
[dev-app-0004
dev-app-0005
dev-app-0006]
如何去掉符号“[”和“]”?
您可以通过以下方式使用它:
target_hosts=["dev-app-0004", "dev-app-0005", "dev-app-0006"]
writeFile file: 'hosts.txt', text:"[project1]\n" + env.target_hosts.join('\n')+ "\n"
输出:
编辑:
根据问题,在不使用 "
的情况下,您可以使用如下:
writeFile file: 'hosts.txt', text:"[project1]\n" + target_hosts.tokenize(', ').join('\n').replaceAll("[\[*\]]","") + "\n"