Jenkins Kubernetes插件的文档说明:
与脚本化的k8s模板不同,声明性模板不会从父模板继承。如果需要,您需要显式声明继承。插件自述文件
不幸的是,没有一个例子说明如何显式地声明从构建的主模板继承。我试着使用标签,但是继承似乎被忽略了。
def parentLabel = "my-project-${UUID.randomUUID().toString()}"
pipeline {
agent {
kubernetes {
label parentLabel
yamlFile "jenkins-agent.yml"
// a global template in the cloud configuration
inheritFrom "docker"
}
}
stages {
// .. stages using the above agent
stage( 'Test Container' ) {
agent {
kubernetes {
label "xcel-spring-stage-${UUID.randomUUID().toString()}"
inheritFrom parentLabel
yaml """
apiVersion: v1
kind: Pod
metadata:
namespace: build
labels:
project: x-celerate-spring-application
spec:
containers:
- name: spring-application
# defined in previous stages, skipped for brevity
image: ${env.IMAGE_NAME}:${version}.${env.BUILD_NUMBER}
"""
}
}
}
}
}
如何/通过什么样的模板名称来引用在stage代理声明的inheritFrom
语句中管道顶部声明的模板,以实际显式定义继承?
1条答案
按热度按时间v09wglhw1#
有关默认继承的文档已更新,现在声明:
如有必要,您需要使用字段inheritFrom显式声明继承。
文档中有两个示例:
或者在声明性流水线中: