前言
差点被Jenkins的插件搞麻了,又是依赖不对又是版本需要升级的,差点破口大骂了,还好忍住了,静下心来慢慢搞,终于搞通了。这里必须记录一下。
废话不多说,上来就是干,jenkins是干嘛用的,小白的话,自己去查,首先我的环境时centos7,自己在vmware建立的一套centos虚拟机环境。docker版本如图所示:
第一步
其实可以先查看一下又那些镜像jenkins可以使用:
docker search jenkins
我们这边直接拉取对应的镜像:
docker pull jenkins/jenkins
然后拉去完成,查看对应的镜像信息:
docker images
从图中看出我们已经拉取到了jenkins镜像了,接下来我们着手准备启动jenkins镜像了。
第二步
首先,我们需要创建jenkins的挂载目录并且授权权限,挂载目录的作用为了后期修改jenkins的相关配置:
mkdir -p /var/myjenkins_mount
chmod 777 /var/myjenkins_mount
这里的目录可以自定义创建,只要后面启动的时候,对应上即可。
此时目录创建完毕就可以启动jenkins,
-d 后台运行镜像
-p 10240:8080 将镜像的8080端口映射到服务器的10240端口。
-p 10241:50000 将镜像的50000端口映射到服务器的10241端口
-v /var/myjenkins_mount:/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/myjenkins_mount目录
-v /etc/localtime:/etc/localtime让容器使用和服务器同样的时间设置。
--name myjenkins 给容器起一个别名
还有其他的详细的命令可以自己去查。
docker run -d -p 10240:8080 -p 10241:50000 -v /var/myjenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
查看jenkins是否启动成功,如下图出现端口号,就为启动成功了
注意
在这一步如果你电脑上原先有升级的包了,此时就可以直接把jenkins按照下面的升级步骤直接升级了,然后再接着按照下面的正常运行。而可以直接按照推荐的包现在插件。
此时已经启动完成,只需要在浏览器上输入你的虚拟机的ip+10240即可进入到登陆界面,然后会出现
此处的jenkins_home就是我们刚刚创建的那个目录
我们在虚拟机上进入到这个目录下,拿到密码登陆即可。
注意 注意 注意
这里可能会弹出一个窗口是关于安装插件的,因为墙和版本升级的原因,有些插件无法安装,这边建议暂时不安装任何插件然后进入到jenkins里,
等到进入了jenkins之后,再在点击插件管理,先修改Jenkins的镜像地址
然后重新启动jenkins,进入到插件管理里会发现需要升级jenkins(不需要升级的就不用看这里了),
就根据页面给的的下载地址,把要升级的版本给下载下来。
docker环境如何升级jenkins
d58d5b3044e1是jenkins容器的id,这里填写你们自己的容器id,
我的整个系统的配置是在vmvare虚拟机上搭建的,所以首先下载根据页面提示下载新版jenkins.war到我主机上,
然后再通过ssh工具将新版jenkins.war传输到虚拟机上。
首先将我们虚拟机里的jenkins.war复制并且传输到jenkins容器中:
docker cp jenkins.war d58d5b3044e1:/jenkins.war
接着进入到jenkins容器中
docker exec -it -u root d58d5b3044e1 bash
然后将升级版jenkins移到对应的目录下覆盖老版本的jenkins:
mv jenkins.war /usr/share/jenkins/jenkins.war
然后退出重启
exit
docker restart jenkins
这里其实还有一个隐藏的问题,就是如果重启jenkins容器的话,就会恢复到原来的版本,需要重新进行升级(但是安装的插件是不会丢失的),暂时没有找到好的方法解决,
后期如果找到了好的方法,我会及时更新的
我们会发现没有任何提示了,说明升级完成
但是还有一个问题就是我们的镜像问题,由于默认的jenkins镜像地址,容易被墙,所以还是需要修改成国内的镜像:
这个修改的地方在我们前面建的目录里:
cd /var/myjenkins_mount
然后
vi hudson.model.UpdateCenter.xml
将里面的url标签修改为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
此时jenkins基本安装完毕,后续会写一些安装插件的博客。