В общем
Я пытаюсь использовать метку при использовании kubernetes-plugin для Дженкинса, но я немного запутался. В моем pipeline
ниже я пытаюсь построить тестовое задание в parallel
шагах с разными метками (агентами).
Я уже настроил плагин с шаблоном pod и контейнером в моей конфигурации Jenkins, где я используйте те же настройки, что и в конвейере podTemplate
.
Проблема
Проблема в том, что когда я использую agent label
на этапе 2, вместо изображения, на которое я указываю, запускается образ jnpl в конфигурации someimage:latest
.
В stage 1
, где я определяю модуль в конвейере, проблем нет, и необходимые изображения работают нормально.
Вопрос
Что я делаю не так? Вот мой jenkinsfile
и конфиг kubernetes-plugin в Jenkins:
def podTemplate = """
apiVersion: v1
kind: Pod
spec:
containers:
- name: k8s
image: someimage:latest
command:
- sleep
args:
- infinity
volumeMounts:
- name: workspace-volume
mountPath: /home/jenkins/agent
workingDir: "/home/jenkins/agent"
volumes:
- name: "workspace-volume"
persistentVolumeClaim:
claimName: "jenkins-worker-pvc"
readOnly: false
"""
pipeline {
agent none
stages {
stage("Parallel") {
parallel {
stage("1.k8s") {
agent {
kubernetes {
yaml podTemplate
defaultContainer 'k8s'
}
}
steps {
sh """
mvn -version
"""
}
}
stage("2. k8s") {
agent { label 'k8s' }
steps {
sh """
mvn -version
"""
}
}
stage("win") {
agent { label 'windows' }
steps {
bat "dir"
}
}
}
}
}
}