[英]Containers issue with Jenkins plugin for Kubernetes
我在 jenkins 中使用 kubernetes 插件。 我正在尝试将它与流水线和自由式作业一起使用。 作业正在运行,但仅在名称为jnlp-slave:3.35-5-alpine
容器中,我没有在任何地方定义。
即使在管道中定义图像,也不会发生任何事情并且仍在此jnlp-slave:3.35-5-alpine
图像中运行。 这是我的管道示例:
pipeline {
agent none
stages {
stage ('Stage as dsl') {
agent {
kubernetes {
cloud 'kubernetes'
label 'jnlp-slave'
containerTemplate {
name 'jnlp-slave'
image 'jnlp-slave'
}
}
}
steps {
sh '''
pwd; \
whoami; \
uname -a
'''
}
}
}
}
我的错误在哪里?
我找到的解决方案是不为集群定义任何标签。
在我的jenkinsfile
示例中,我正在测试使用 diffrend docker 图像,如下所示:
工作解决方案
def podTemplate = """
apiVersion: v1
kind: Pod
spec:
containers:
- name: java-slave
image: myrepo/java-slave:latest
command:
- sleep
args:
- infinity
- name: jenkins-slave-dind
image: myrepo/jenkins-slave-dind:latest
command:
- sleep
args:
- infinity
volumeMounts:
- name: dockersock
mountPath: /var/run/docker.sock
volumes:
- name: dockersock
hostPath:
path: /var/run/docker.sock
"""
pipeline {
agent {
kubernetes {
yaml podTemplate
defaultContainer 'java-slave'
}
}
stages {
stage('Main') {
steps {
sh 'curl google.com'
}
}
stage ('Stage as dsl 4'){
steps {
container('jenkins-slave-dind') {
sh '''
docker ps -a
'''
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.