Jenkins 如何在groovy中向函数传递多个映射
例如:我想将容器信息传递给一个函数,并为它构造一个yaml字符串,就像Jenkins 如何在groovy中向函数传递多个映射,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,例如:我想将容器信息传递给一个函数,并为它构造一个yaml字符串,就像 def containers(List<Map> data) { def yamlString = """ apiVersion: v1 kind: Pod spec: containers: - name: container.name image: c
def containers(List<Map> data) {
def yamlString = """
apiVersion: v1
kind: Pod
spec:
containers:
- name: container.name
image: container.image
workingDir: /home/jenkins
resources:
requests:
memory: "66Mi"
cpu: "44m"
limits:
memory: "99Mi"
cpu: "88m"
command:
- cat
tty: true
}
"""
return yamlString
}
containers ([name: 'maven', image: 'repo/maven:3.5.2-jdk-8'],
[name: 'ansible', image: 'repo/ansible:3.5.2-jdk-8'])
def容器(列表数据){
def yamlString=“”
版本:v1
种类:豆荚
规格:
容器:
-名称:container.name
image:container.image
工作目录:/home/jenkins
资源:
请求:
记忆:“66英里”
cpu:“44m”
限制:
记忆:“99英里”
cpu:“88m”
命令:
-猫
tty:是的
}
"""
返回yamlString
}
容器([name:'maven',image:'repo/maven:3.5.2-jdk-8'],
[名称:'ansible',图像:'repo/ansible:3.5.2-jdk-8']
我知道语法和方法是完全错误的。我是groovy的新手def容器(列表数据){
def containers(List<Map> data) {
data.collect {
"""
apiVersion: v1
kind: Pod
spec:
containers:
- name: $it.name
image: $it.image
workingDir: /home/jenkins
resources:
requests:
memory: "66Mi"
cpu: "44m"
limits:
memory: "99Mi"
cpu: "88m"
command:
- cat
tty: true
"""
}
}
收集数据{
"""
版本:v1
种类:豆荚
规格:
容器:
-name:$it.name
image:$it.image
工作目录:/home/jenkins
资源:
请求:
记忆:“66英里”
cpu:“44m”
限制:
记忆:“99英里”
cpu:“88m”
命令:
-猫
tty:是的
"""
}
}
将返回字符串列表