ssc*_*327 5 jenkins openshift kubernetes jenkins-pipeline
我在OpenShift集群中使用OpenShift Jenkins图像。默认的Jenkins映像将导致Jenkins容器被预先配置为指向我的Kubernetes集群。此外,该容器还定义了两个Kubernetes Pod模板,一个用于Maven,一个用于Node.js.
我现在想做的是使用声明性管道并引用这些容器。我尝试了以下
agent {
kubernetes {
//cloud 'kubernetes'
label 'maven'
}
}
Run Code Online (Sandbox Code Playgroud)
但这给出了一个错误说明
org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:
WorkflowScript:4:缺少代理类型“ kubernetes”所需的参数:containerTemplate @第4行,第10列。
Run Code Online (Sandbox Code Playgroud)kubernetes { ^
我可以在声明性管道中找到的所有(示例)都显示了在指定代理时定义的Pod模板。
是否可以在声明管道中重用已经定义的模板?
小智 5
这是一个使用预定义 pod 模板的示例。
pipeline {
agent {
label "maven"
}
stages {
stage('Run maven') {
steps {
sh 'mvn -version'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您的原始管道定义实际上定义了一个全新的 pod 模板,因此在强制执行containerTeamplates参数要求时出现错误。使用现有模板时,您只需在agent块中指定标签即可。
| 归档时间: |
|
| 查看次数: |
5005 次 |
| 最近记录: |