一.准备工作
1.首先需要一台可以通外网的服务器,然后登陆下载jenkins镜像,命令如下:
docker pull jenkins/jenkins:jdk11
2.然后查看本地仓库镜像,命令如下:
docker images | grep jenkins
获取image id:6b19b53648f3
3.修改下载镜像名称和Tag
修改名称和tag,形成符合私有仓库要求的新镜像,命令如下:
docker tag 6b19b53648f3 harbor.fehorizon.com:5000/ifelc/jenkins:2.319
镜像ID 私有仓库域名 jenkins版本
再次查看本地仓库镜像:
4.删除下载镜像,命令如下:
docker rmi jenkins/jenkins:jdk11
5.推送新镜像(符合命名tag要求)到私有仓库,命令如下
docker push harbor.fehorizon.com:5000/ifelc/jenkins:2.319
二、升级工作
1.登录Jenkins页面,右下角有版本信息,查看当前版本为2.249.1
2.修改jenkins yml文件
登录Jenkins所在服务器,修改jenkins的yml配置文件,一般为:/home/services/doceker_jenkins.yml,image更新为新镜像名字,保存退出。
旧的使用镜像注释掉,加上新的镜像
3.重启Jenkins新镜像服务
如果当前Jenkins没有job进行,已停止,可直接在Jenkins所在服务器执行重启命令:
docker stack deploy -c /home/services/docker-jenkins.yml jenkins
登录portainer查看Jenkins服务是否正常,稍等1分钟,容器启动完应用后,可登录Jenkins页面,查看右下角版本信息,升级成功。
如果当前Jenkins服务未停止,执行deploy命令会报8080端口已被占用。可先停止或直接删除Jenkins服务。
注:我们公司用的是portainer来查看管理容器的状态,删除服务的动作直接在portainer上Delete the service就可。如果没有工具,可直接停止目前运行的jenkins容器。
至此,jenkins升级完成