jenkins - Jenkins Kubernetes 插件:声明式管道和 pod 模板继承
问题描述
Jenkins Kubernetes Plugin 的文档指出:
与脚本化的 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}
"""
}
}
}
}
}
我如何/通过什么模板名称引用在inheritFrom
阶段代理声明中的语句中在管道顶部声明的模板以实际显式定义继承?
解决方案
推荐阅读
- javascript - 用匹配的路由反应 SSR
- reactjs - 反应导航参数不会重置?
- c# - .net core 2.1 Web 应用程序在 Visual Studio 中工作,但在 Windows 10 中部署到 IIS 时不起作用
- javafx - JavaFX中的高刷新率
- laravel - 如何在枚举字段中插入数据?
- fortran - 变量上的 LEN_TRIM 值
- python - 在pytest中找不到夹具
- java - IllegalStateException:无法执行 android:onClick 的方法
- linux - 我的容器没有找到 package.json 来在 docker-compose 上执行 npm install
- sql - SQL查询查找价格连续上涨的产品