使用Jenkins更新Rancher服务
特别说明
- 本方法会导致整个stack全部升级
- 本方法为临时方案
- 因为阿里云的镜像库不支持dockerhub 的webhook,所有需要rancher额外支持阿里云镜像库,应该会在下一个版本中加入,所有下版本后可以使用webhooks的方式更加优雅的进行CI/CD
前期准备
准备Rancher的密钥对
一定要记住这两个值
配置Rancher-CLI
下载Rancher Cli
安装CLi
把软件包scp到Jenkins所在机器,并且配置好path路径,然后切换到jenkin用户下
配置Rancher
这里就用到了准备出来的密钥对
测试API连接
Jenkins
- 用jenkins的docker插件或者shell命令把代码build并且push到远程仓库
- 执行shell命令
rancher export spider && cd spider && rancher up -p --force-upgrade --batch-size 99 -u -c -d && cd .. && rm -rf spider
- 上面的代码会强制更新指定的stack (本例为spider)
- 具体的cli用法详见文档http://rancher.com/docs/rancher/v1.6/en/cli/commands/#rancher-up-reference