我目前正在使用以下配置在OpenShift中构建管道
openshift:v3.6.173.0.140
詹金斯:2.017(使用来自https://github.com/openshift/jenkins的redhat图像)
Jenkins-Kubernetes插件1.12.2
作为Jenkins代理程序,我正在使用openshift jenkins模板提供的nodejs代理程序以及在其上构建的图像(例如,我还用打字稿编译器适配的一幅图像)
现在我想做的是使用多个容器运行pod(不仅是jnlp,还包括标准节点,go等容器)。现在根据文档,这应该不是问题(https://github.com/jenkinsci/kubernetes-plugin),因为我应该像这样将容器添加到我的podTemplate中
podTemplate(label: mylabel, cloud: 'openshift',
containers: [
containerTemplate(
name: "jnlp",
resourceRequestMemory: "512Mi",
resourceLimitMemory: "2048Mi",
workingDir: "/home/default",
tty: "false",
imagePullPolicy: "Always",
image: 'private-registry:5000/namespace/nodejs-tsc-jnlp-image:latest',
args: '${computer.jnlpmac} ${computer.name}',
),
containerTemplate(
name: 'node',
resourceRequestMemory: '512Mi',
resourceLimitMemory: '2048Mi',
workingDir: '/home/default',
tty: 'true',
imagePullPolicy: 'Always',
image: 'node:alpine',
command: 'cat'
)
]
)
现在的问题是,这不起作用。为节点容器拉出图像工作正常,如果我使用 echo test 例如代替cat作为命令,test将显示在容器日志中,但是容器将通过并通过不执行管道中描述的任何操作。再次,完全按照文档中所述的方式编写
node(mylabel){
stage('TEST NODE'){
container("node"){
sh("echo test node")
}
container("jnlp"){
sh("echo test jnlp")
}
}
知道我在做什么错吗?
答案 0 :(得分:0)
我会尝试使用/bin/sh -c
和cat
作为参数。