我正在使用Jenkins kubernetes plugin运行管道构建:
pipeline {
agent {
kubernetes {
label 'kind'
defaultContainer 'jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
name: dind
...
我想用一个0到5之间的整数对yaml的特定字段进行模板化,并以循环方式旋转(即,第一个内部版本使用0进行模板化,第二个内部版本使用1进行模板化,等等,然后再次返回0) 4)之后。
我该如何实现?
答案 0 :(得分:1)
您可以使用podTemplates,下一个代码来自https://github.com/jenkinsci/kubernetes-plugin,可以使用变量准备所需的任何类型的pod。 如果这不是您所需要的,是否可以提供您要尝试做的事的例子?
def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, containers: [
containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),
containerTemplate(name: 'golang', image: 'golang:1.8.0', ttyEnabled: true, command: 'cat')
]) {
node(label) {
stage('Get a Maven project') {
git 'https://github.com/jenkinsci/kubernetes-plugin.git'
container('maven') {
stage('Build a Maven project') {
sh 'mvn -B clean install'
}
}
}
stage('Get a Golang project') {
git url: 'https://github.com/hashicorp/terraform.git'
container('golang') {
stage('Build a Go project') {
sh """
mkdir -p /go/src/github.com/hashicorp
ln -s `pwd` /go/src/github.com/hashicorp/terraform
cd /go/src/github.com/hashicorp/terraform && make core-dev
"""
}
}
}
}
}