Jenkins 对接 Kubernetes(K8s)通常有两种主要场景,先说清楚你大概率想知道的是哪一种:
下面按最常见方案一步步讲。
Jenkins 插件管理器中安装:
Kubernetes Plugin
(通常叫 kubernetes)
路径:
Manage Jenkins → Manage Nodes and Clouds → Configure Clouds → Add a new cloud → Kubernetes
关键配置项:
https://kubernetes.default.svc
jenkinshttp://jenkins.default.svc:8080
apiVersion: v1
kind: ServiceAccount
metadata:
name: jenkins
namespace: jenkins
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: jenkins-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: jenkins
namespace: jenkins
获取 token:
kubectl -n jenkins describe secret $(kubectl -n jenkins get secret | grep jenkins | awk '{print $1}')
pipeline {
agent {
kubernetes {
label 'build-pod'
yaml """
apiVersion: v1
kind: Pod
spec:
containers:
- name: maven
image: maven:3.8
command: ['cat']
tty: true
"""
}
}
stages {
stage('Build') {
steps {
container('maven') {
sh 'mvn clean package'
}
}
}
}
}
✅ 构建时 Jenkins 会自动创建 Pod,构建完销毁。
stage('Deploy') {
steps {
withKubeConfig([credentialsId: 'k8s-config']) {
sh 'kubectl apply -f deployment.yaml'
}
}
}
sh 'helm upgrade --install myapp ./chart'
如果你愿意,可以告诉我:
我可以直接给你一套可复制的 YAML + Jenkinsfile。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。