gpt4 book ai didi

jenkins - 如何在声明式管道中定义多个容器?

转载 作者:行者123 更新时间:2023-12-04 04:33:12 25 4
gpt4 key购买 nike

我正在使用kuberntes-plugin。在其自述文件中,它给出了如何编写具有多个容器镜像的脚本化管道的方法,例如

podTemplate(label: 'mypod', 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('mypod') {

我尝试了以下声明式管道。
pipeline {
agent {
kubernetes {
//cloud 'kubernetes'
label 'mypod'
containerTemplate {
name 'maven'
image 'maven:3.3.9-jdk-8-alpine'
ttyEnabled true
command 'cat'
}
containerTemplate {
name 'containtertwo'
image 'someimage'
ttyEnabled true

}
}
}

它创建一个只有一个容器的容器。

声明式管道如何使用多个containerTemplates?

最佳答案

这不是解决您的问题的方法,但是是我看过后发现的一些信息。

KubernetesDeclarativeAgent只有一个containerTemplate。容器集合底部的任何containerTemplate都将被使用。

在您的示例中,它将为containtertwo

您不能在代理中包含多个顶级agents,也不能在其中包含多个kubernetes。现在您不能拥有多个容器。我希望为此抛出某种错误或警告。

我可以想到2种解决方法。如果必须使用声明式,则可以在agent中添加stage,但这可能会导致其自身的问题。另一个是脚本化管道,这就是我要做的。

关于此的文档还有很多不足之处。

关于jenkins - 如何在声明式管道中定义多个容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47470498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com