jenkins版本2.306因云盾检测出应急漏洞Jackson 最新反序列化漏洞(CVE-2019-14361和CVE-2019-14439)【版本检测】,因此整改迁移至docker,当然按照自己习惯也可以升级新版本或者打补丁方式,操作方式不限
docker镜像
拉取镜像(拉取后版本也是2.306)
[root@10.1.74.109 ~]# docker pull jenkins/jenkins:latest
创建挂载文件
[root@10.1.74.109 ~]# mkdir /home/jenkins_home/
运行容器
[root@10.1.74.109 ~]# docker run -itd --name jenkins -p 8081:8080 --restart=always -e TZ="Asia/Shanghai" -e JENKINS_OPTS="--prefix=/jenkins" -e JENKINS_ARGS="--prefix=/jenkins" -v /home/jenkins_home/:/var/jenkins_home 72b4a8d8d158
- -restart=always 自启动容器
TZ=“Asia/Shanghai” 设置上海时区
-e JENKINS_OPTS=“–prefix=/jenkins” -e JENKINS_ARGS=“–prefix=/jenkins” 设置访问路径
如果不设置/jenkins访问路径使用nginx反向代理会报错404
正常升级拷问文件
- jobs 项目目录
- plugins 插件目录
- users 用户目录
- config.xml 配置文件
拷贝数据文件
- 我这里因为插件目录下jar包存在漏洞,为了保险将/var/lib/jenkins下所有的文件(除了plugins插件目录)都拷贝至容器挂载目录/home/jenkins_home/
[root@10.1.74.109 jenkins]# pwd
/var/lib/jenkins
[root@10.1.74.109 jenkins]# \cp ./*.xml /home/jenkins_home/
查找当前目录非plugins并且为目录复制到/home/jenkins_home/
[root@10.1.74.109 jenkins]# find ./ -type d -a ! -name plugins \cp -r {} /home/jenkins_home/ \;
重启容器
[root@10.1.74.109 jenkins]# docker restart jenkins
登陆密码查看
[root@10.1.74.109 jenkins_home]# pwd
/home/jenkins_home
[root@10.1.74.109 jenkins_home]# cat secrets/initialAdminPassword
9a3a6be6d64565886e1
登陆页面
http://localhost:8081
1. 修改admin密码
2. 重新下载所需插件
- 因为没有将plugins目录拷贝容器,所有容器启动后有些功能不可用,需要重新下载插件,比如SSH 、gitlab、color等,如果不拷贝插件目录就要知道用到的插件后面下载就ok。
3. 重新授权服务密码
- 构建项目报错
- 将所有配置服务器密钥重新授权
系统管理》》Manage Credentials》》全局凭据》》重新授权密码
- SSH remote hosts 服务连接认证