我对groovy的了解并没有超出我对Jenkinsfiles的了解。我试图弄清楚是否有可能在Jenkinsfile中定义一个映射,然后可以以“
for循环”方式应用该映射。
我有这些变量:
mymap = {
"k1": "v1"
"k2": "v2"
"k3": "v3"
}
stage
我的Jenkinsfile中有一个如下所示的:
stage('Build Image') {
withCredentials([[<the credentials>]) {
sh "make build KEY={k1,k2,k3} VALUE='{v1,v2,v3}'"
}
有没有办法Build Image
为每个配对做一个舞台mymap
?我的尝试还没有运气。
Jenkins文档中有一些类似的用户提交的示例。
这样的事情应该起作用:
def data = [
"k1": "v1",
"k2": "v2",
"k3": "v3",
]
// Create a compile job for each item in `data`
work = [:]
for (kv in mapToList(data)) {
work[kv[0]] = createCompileJob(kv[0], kv[1])
}
// Execute each compile job in parallel
parallel work
def createCompileJob(k, v) {
return {
stage("Build image ${k}") {
// Allocate a node and workspace
node {
// withCredentials, etc.
echo "sh make build KEY=${k} VALUE='${v}'"
}
}
}
}
// Required due to JENKINS-27421
@NonCPS
List<List<?>> mapToList(Map map) {
return map.collect { it ->
[it.key, it.value]
}
}
我的Jenkinsfile由几个阶段构建而成,可以由调度程序或通过推送到Gitlab来触发。我想使用触发器源来跳过触发器的几个阶段。我如何识别哪个事件触发了作业?
我是一个胡子新手,我想知道如何在这个地图上反复使用胡子 地图键名称各不相同。理想情况下,我希望mustache可以迭代其键和值。因此,在java中,它将如下所示: 所以有人能告诉我如何在小胡子中实现以上。我的意思是模板会是什么样子?我尝试了这个模板,但到目前为止还没有运气:( 所以当我运行这个模板时,输出
问题内容: 我有一个(实际上,我使用的是更复杂的POJO,但是为了我的问题而简化了它) 好像 : 我如何遍历此地图,打印出密钥,然后打印人名,然后打印人年龄,例如: A是Map < String ,Person> 的键 B是Person.getName()的名称 C是Person.getAge()的年龄 我可以使用.values()从地图中提取所有值,如HashMap文档中所述,但是我不确定如何获
问题内容: 我有一个自定义类对象(下面是示例)。 使用:我想将所有子列表“合并”到一个大列表中。因此,我认为我需要使自定义类成为可迭代的。 这是我的自定义类的示例。 我实现了,但是似乎没有用。他们甚至没有被召集。 知道我做错了什么吗? 注意:使用Python 3.3 问题答案: 当您尝试遍历类实例时调用的是什么: 是在返回的对象上调用的内容(在python2.x上,不是,我一般都对它们都使用别名,
我定义了一个简单的迷你。原型文件如下: protoc编译器(--version==libprotoc 3.0.0,从protobuf-python-3.0.0-alpha-3的源代码安装)报告:
在另一个项目中,我使用/应用这个插件: 但是如何从MyGradlePlugin.groovy中的apply方法中迭代公共依赖项并打印它们的坐标(artifactId、groupId、version)?