В настоящее время я работаю над конвейером сборки в OpenShift, используя следующую конфигурацию
openshift: v3.6.173.0.140
Jenkins: 2.017 (с использованием изображений redhat из https://github.com/openshift/jenkins)
Jenkins-Плагин Kubernetes 1.12.2
В качестве агентов Jenkins я использую агенты nodejs, предоставляемые шаблоном openshift jenkins, и изображения, которые на них основываются (например, одно изображение, которое я также приспосабливаю с помощью компилятора машинописи)
Теперь я хочу запустить pods с несколькими контейнерами (не только контейнером jnlp one, но и стандартным узлом, 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 as команда test будет отображаться в журнале контейнеров, но контейнер просто пройдет как выполненный и не будет выполненвсе, что описано в конвейере.Опять же, это полностью написано, как указано в документации
node(mylabel){
stage('TEST NODE'){
container("node"){
sh("echo test node")
}
container("jnlp"){
sh("echo test jnlp")
}
}
Есть идеи, что я делаю неправильно?