
Jenkins+Rancher+kubectl自动化发布到K8S集群实践
下载需积分: 37 | 638KB |
更新于2024-08-28
| 71 浏览量 | 举报
收藏
该文档介绍了如何使用Jenkins、Rancher和kubectl来实现Kubernetes(K8S)环境中的自动化发布流程。主要涉及的工具版本包括Jenkins 2.164、Rancher v2.3.5和kubectl v1.15.0。
在Jenkins中,自动化运维通常涉及构建Maven项目。这里的操作是通过执行`clean install -pl qs-saas-service/qs-saas-service-bi-system-am -Dmaven.test.skip=true`命令来打包项目,跳过了测试阶段。一旦打包完成,会触发一个名为`build.sh`的shell脚本。
`build.sh`脚本的核心任务是:
1. 设置环境变量`ENV`,例如此处为`dev`,指定了部署的目标环境。
2. 定义了JAR包的路径`PATH_JAR`,用于后续操作。
3. 获取当前时间戳作为Docker镜像的标签`DOCKER_TAG`,确保每次构建都是唯一的。
4. 指定Harbor(私有Docker Registry)的URL。
5. 设置Rancher的API URL以及访问令牌`RANCHER_TOKEN`,用于与Rancher API进行交互。
6. 提供Rancher项目的ID,用于确定应用所在的集群和命名空间。
7. 脚本的主要步骤包括:
- 将Jenkins工作区中的JAR文件复制到指定目录。
- 使用Docker构建镜像。
- 推送镜像到Harbor仓库。
- 删除本地的Docker镜像。
- 使用Rancher CLI登录并更新服务。
通过这种方式,Jenkins可以自动化地构建、打包、推送Docker镜像,并通过Rancher更新K8S集群中的应用实例。这种方式极大地提高了DevOps的效率,使得软件部署更加自动化和标准化。
整个流程中,Jenkins负责持续集成和构建,Rancher则用于管理和部署K8S集群中的应用,而kubectl作为一个命令行工具,可以用来与Kubernetes集群进行交互,如查询、创建、更新和删除资源。这样的组合为DevOps团队提供了一套强大的自动化发布解决方案。
相关推荐















89无处不在oncall
- 粉丝: 14
最新资源
- Primerkdown: 结合 Primer CSS 的 Markdown 编辑器展示
- Python绑定Poisson曲面重建Matlab代码的使用指南
- Ruby on Rails项目masonic_music_timeline部署指南
- 红细胞内含子保留分析与RNA-Seq技术应用
- 易语言实现文本快速分割到数组,优化匹配算法(汇编)
- AresBD: OSX平台的反向TCP僵尸网络shell攻击系统
- Penpal.js:构建JavaScript请求-响应消息系统跨框架通信
- 易语言实现内存读写的API源码解析
- Nginx Docker镜像的使用与部署方法
- 重现经典:旧版Minecraft声音资源包项目
- Kotlin在Android上的应用:GDG韩国2015演讲解析
- Rustdesk 1.1.5:全新开源远程桌面工具
- Gliss:CSS属性驱动的响应式文章布局解决方案
- ASP.NET Web API 消息REST服务开发与测试指南
- 从零开始构建Web视图框架的探索旅程
- ACSMS航空货运管理系统:高效物流解决方案
- 易语言字符串搅乱器:提升程序文本安全性
- FAST(FW300R)路由器IP源码修改教程
- 基于OpenGL的Java项目构建与运行指南
- 微信小程序音乐播放器源码解析
- 易语言实现的蜗牛斗地主游戏源码
- SchemaKit: Meteor 中简单有效的模式验证包
- DevPlay: 如何用 Vagrant 和 Ubuntu 创建 NodeJS 与 Go 示例应用
- Typing-speed网站:助你提高打字速度的在线工具