Jenkins部署k8s
时间: 2025-04-25 07:34:03 浏览: 30
### 使用 Jenkins 部署至 Kubernetes 的最佳实践
#### 安装必要的插件
为了使 Jenkins 能够与 Kubernetes 进行交互,需安装 `Kubernetes Continuous Deploy` 插件。此操作可通过访问 Jenkins 的插件管理页面完成[^1]。
#### 创建 Helm Chart 来部署 Jenkins
对于希望利用 Helm 简化部署流程的情况,可以创建或者下载现有的 Helm chart 并对其进行自定义配置以便于将 Jenkins 主节点部署到 Kubernetes 上面去;需要注意的是,虽然推荐这样做,但这并不是强制性的——即使不这么做也能够正常使用 Kubernetes 插件的功能[^3]。
#### 编写并测试 CI/CD Pipeline Script
编写适用于目标环境的 Jenkinsfile 文件,在其中定义好各个阶段的任务逻辑以及所使用的镜像版本等参数信息。下面是一个简单的例子:
```groovy
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
}
}
stage('Deploy to K8S') {
environment {
NAMESPACE = 'default'
DEPLOYMENT_NAME = 'example-deployment'
}
steps {
script {
sh """
kubectl set image deployment/${DEPLOYMENT_NAME} \
web-container=nginx:${params.IMAGE_TAG}
kubectl rollout status deployment/${DEPLOYMENT_NAME}
"""
}
}
}
// 更多阶段...
}
post {
always {
cleanWs()
}
}
}
```
这段脚本展示了如何更新指定名称空间下的 Deployment 对象中容器映像标签的过程,并等待新的 Pod 启动完毕后再继续执行后续动作[^2]。
#### 应用程序资源清单文件准备
准备好应用程序对应的 YAML 格式的资源配置文档,比如上面提到过的 Deployment 类型对象描述符。这些文件通常会放在项目的根目录下名为 manifests 或者 deployments 的子文件夹里。
阅读全文