k8s用jenkins部署若依
时间: 2025-06-07 22:42:33 浏览: 16
### 在 Kubernetes 上使用 Jenkins 部署若依框架
要在 Kubernetes (k8s) 上使用 Jenkins 部署若依框架,需要完成以下关键任务:配置 Jenkins 环境、构建若依框架项目、将构建结果打包为 Docker 镜像,并通过 Kubernetes 部署到集群中。
#### 1. 配置 Jenkins 环境
确保 Jenkins 已正确部署在 Kubernetes 集群中,并且支持 Maven 和 Docker。可以通过挂载持久卷(Persistent Volume, PV)来保存 Jenkins 的工作目录 `jenkins_home`,以防止 Pod 删除时数据丢失[^3]。
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jenkins-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins
spec:
template:
spec:
containers:
- name: jenkins
image: jenkins/jenkins:lts
volumeMounts:
- mountPath: /var/jenkins_home
name: jenkins-storage
volumes:
- name: jenkins-storage
persistentVolumeClaim:
claimName: jenkins-pvc
```
#### 2. 构建若依框架项目
若依框架是一个基于 Spring Boot 和 Vue 的快速开发平台,因此需要使用 Maven 或 Gradle 进行构建。在 Jenkins 中创建一个 Pipeline 任务,定义构建脚本:
```groovy
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/ruoyi-springboot.git' // 替换为实际的代码仓库地址
}
}
stage('Build') {
steps {
sh 'mvn clean package -Dmaven.test.skip=true'
}
}
}
}
```
#### 3. 打包为 Docker 镜像
构建完成后,需要将生成的 `.jar` 文件打包为 Docker 镜像。可以使用 Docker 插件或直接在 Pipeline 中添加 Docker 构建步骤:
```groovy
stage('Docker Build') {
steps {
script {
def dockerImage = docker.build("ruoyi-app:${env.BUILD_ID}", ".")
docker.withRegistry('https://your-docker-registry', 'docker-credentials-id') {
dockerImage.push()
}
}
}
}
```
#### 4. 部署到 Kubernetes
最后一步是将构建好的镜像部署到 Kubernetes 集群中。可以通过 kubectl 命令或 Helm Chart 实现。以下是一个简单的 Deployment 和 Service 配置示例:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: ruoyi-deployment
spec:
replicas: 2
selector:
matchLabels:
app: ruoyi
template:
metadata:
labels:
app: ruoyi
spec:
containers:
- name: ruoyi-container
image: your-docker-registry/ruoyi-app:latest
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: ruoyi-service
spec:
type: NodePort
selector:
app: ruoyi
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 32000
```
执行以下命令应用配置文件:
```bash
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
```
访问若依框架的 URL 为 `http://<node-ip>:32000`[^1]。
---
阅读全文
相关推荐

















