介绍
当下最热门的技术当属以docker为代表的容器技术,rancher是用来管理docker的一个平台,可以在rancher上对docker进行监控,发布,编排,升级,负载均衡等。和docker命令行操作比起来,rancher全都是可视化操作,学习成本极低,通过rancher可以非常方便对docker进行管理。
通过rancher发布的应用,就很有必要跟jenkins进行集成,实现整个pipeline的完整性。本文介绍如何在jenkins中集成rancher,达到自动发布自动升级的目的。
rancher 最近进行大版本升级,目前最新版本为rancher 2.0 beta 4,该版本bug还比较多,暂不考虑应用生产环境,本次使用环境为rancher 1.6
实现
- 登陆
rancher->API->密钥->添加账号API Key
生成一个api key。输入名称后会生成一个Access Key (用户名)
和Secret Key (密码)
。记下这两个的值,后面会用到,而且Secret Key
如果不记下来后面就无法从界面获取。 - 登陆jenkins在插件管理器里搜索
rancher
安装rancher插件
- 创建job,可以在
pre Steps
和post Steps
阶段都可以添加rancher
构建,这里以post Steps
为例
下面解释下这几个参数
API Endpoint
:rancher api地址,可以在以下地方找到
Rancher API Key:
点击Add
添加新的账号
username
为第一步获取的Access Key
password
为第一步获取的Secret Key
id
和Description
不重要可以随意填
Rancher Environment Id:
环境id,可以在rancher管理界面环境管理
中获取
Service Name:
格式为基础设施名称/服务名称
,下图就是基础设施名称
点击进去就是各个服务名称
Docker Image:
容器名称,可以使用jenkins变量做动态构建
至此,jenkins上构建完就可以调用rancher api进行容器发布和升级。
结语
jenkins和rancher的集成相对还是比较简单,就是官方文档写的有点简略,没有解释各个参数从哪里取,真心觉得,官方能在文档上多写几个字可以让用的人少走很多很多弯路。