本文首发于 栏轩·阁欢迎访问阅读原文获取更好的阅读体验。一、DevOps 是什么DevOpsDevelopment 和 Operations 的组合是一种将开发与运维整合的实践。在 KubeSphere 中DevOps 模块基于Jenkins提供 CI/CD 流水线能力可以实现自动拉取代码从 Git 仓库拉取源代码自动构建编译代码、构建 Docker 镜像自动部署将新版本部署到 K8s 集群流水线可视化在 Web 控制台查看构建进度和日志二、安装 DevOps 插件2.1 前提条件KubeSphere 已安装并激活需申请免费 License否则扩展中心不可用。2.2 安装步骤在 KubeSphere 控制台进入扩展中心搜索devops找到 DevOps 插件点击安装。⚠️注意默认的ks-core安装后不包含 DevOps 功能需要单独安装 DevOps 扩展组件。2.3 创建企业空间安装 DevOps 插件后默认的企业空间无法创建 DevOps 项目。需要创建一个新的企业空间平台管理 → 企业空间 → 创建企业空间填写名称后进入新建的企业空间在左侧菜单应该能看到DevOps 项目选项如果还是没有出现尝试重启 KubeSphere 的相关 Pod或等待组件就绪三、创建 DevOps 项目进入企业空间 →DevOps 项目→创建这是后续所有操作凭证、流水线等的容器。四、凭证管理在 DevOps 项目中进入凭证 → 创建KubeSphere 支持多种凭证类型4.1 Git 凭证HTTPS 账号密码字段说明类型账号密码用户名Git 平台用户名密码Personal Access Token不是登录密码⚠️GitHub 已不支持用密码操作 Git必须使用 Personal Access Token。在 GitHub 设置中生成 token 时需勾选repo权限私有仓库必须。4.2 Git 凭证SSH 密钥字段说明类型SSH 密钥用户名固定为git私钥本地私钥文件内容cat ~/.ssh/id_rsaSSH 方式需要把公钥添加到 Git 平台且私钥格式需为 PEMJenkins 不支持 OpenSSH 新格式# 如果私钥是 OpenSSH 格式转为 PEM 格式ssh-keygen-p-mPEM-f~/.ssh/id_rsa4.3 K8s 部署凭证字段说明类型kubeconfigIDkubeconfig-auth内容集群 kubeconfig → 控制台 → 集群管理 → 导出 kubeconfig五、网络问题与仓库选择5.1 GitHub 连接问题在实际操作中GitHub 经常会遇到连接问题问题原因解决方案Failed to connect to github.com port 443国内网络限制换用 Giteetls: failed to verify certificateSteamTools 等代理拦截 HTTPS关闭代理或添加证书authorization failed凭证类型或权限不对使用 PAT token 并勾选repo5.2 推荐使用 Gitee码云Gitee 在国内访问稳定兼容性好。推荐使用HTTPS 账号密码方式凭证类型用户名密码账号密码Gitee 用户名Gitee 登录密码支持直接使用密码5.3 加速器的坑如果使用 SteamTools 等加速器Jenkins 容器内可能会出现 SSL 证书错误tls: failed to verify certificate: x509: certificate signed by unknown authority这是因为加速器劫持了 HTTPS 流量用自签名证书替代了原始证书。Jenkins 容器不认识这个证书。解决方案关闭加速器最简单或将加速器的根证书添加到 Jenkins 容器的 CA 信任链中六、创建代码仓库在 DevOps 项目中进入代码仓库 → 创建可以选择不同类型仓库类型说明Git通用 Git 仓库手动输入地址推荐GitHub通过 OAuth 集成但国内网络不稳定Gitee通过 OAuth 集成GitLab通过 OAuth 集成推荐使用「Git」类型手动输入仓库 URL 和凭证不依赖 OAuth兼容性最好。私有仓库注意事项如果是私有仓库token 必须有所需仓库的权限GitHubtoken 需勾选repoContents → Read and writeGitee直接使用账号密码即可七、创建流水线7.1 创建多分支流水线进入流水线 → 创建字段值类型多分支流水线代码源选择已创建的代码仓库分支master7.2 流水线类型对比类型说明适用场景多分支流水线自动扫描仓库分支每个分支独立构建团队协作多分支开发普通流水线只构建指定分支个人项目单分支创建完成后KubeSphere 会自动扫描仓库分支。扫描到分支后点击分支右侧的运行即可触发流水线。7.3 Jenkinsfile 是什么流水线根据项目根目录下的Jenkinsfile文件来执行构建步骤。一个最简单的 Jenkinsfilepipeline{agent any stages{stage(拉取代码){steps{checkout scm}}stage(验证){steps{shecho 流水线运行成功}}}}Jenkinsfile 使用 Groovy 语法定义了流水线的各个阶段和每个阶段的执行步骤。八、构建成功十、总结步骤操作要点1安装 DevOps 插件需先激活 KubeSphere新建企业空间2创建 DevOps 项目作为凭证和流水线的容器3配置凭证Git 用 PAT/SSH部署用 kubeconfig4绑定代码仓库推荐 Git 类型 Gitee国内稳定5创建流水线多分支流水线扫描仓库分支6编写 Jenkinsfile定义拉取代码 → 构建 → 部署的流程7运行点击分支上的运行按钮通过 KubeSphere DevOps可以在可视化界面中完成从代码到部署的完整 CI/CD 流程降低了 Jenkins 的使用门槛。