一. 什么是Jenkins
Jenkins是当前非常流行的一款持续集成工具,可以帮助大家把更新后的代码自动部署到服务器上运行。
二. 为什么用docker版的Jenkins
Jenkins主要有三种安装方式
- 下载官方war包,放到tomcat中直接运行。
- yum安装,感兴趣的朋友可以参考之前我写的一篇文章在linux服务器上安装Jenkins。
- 使用官方docker镜像。
本人之前也是使用yum安装的方式安装Jenkins的
,不过自动用上docker
后,就再也没那样安装过。不得不说直接使用docker
镜像真是简单除暴无脑。
三. 准备工作
要使用docker镜像,首先你得先安装docker。对docker不熟悉,网上有很多教程,可以看看
四. 寻找官方镜像
我们可以到Jenkins官网上寻找docker镜像地址。https://www.jenkins.io/download/
点击docker按钮,自动跳转到dockerhub,在这里可以找到下载命令:docker pull jenkins/jenkins
五. 启动Jenkins
找到了官方镜像后,我们就可以开始安装了。进入安装好了docker的linux服务器,输入命令,下载Jenkins
官方镜像到服务器上。
docker pull jenkins/jenkins
耐心等待下载完成,输入命令查看下载完成的镜像
docker images
镜像下载完成,下面就要开始启动容器了。启动容器前,建议大家仔细阅读前面寻找镜像时Docker Hub上关于jenkins镜像的详细说明。
在镜像文档里,我们知道Jenkins
访问的端口号是8080
,另外还需要暴露一个tcp
的端口号50000
。我们使用如下命令启动Jenkins
镜像。
docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins
这里逐条解释下各参数的意义。
-d
后台运行镜像-p 80:8080
将镜像的8080端口映射到服务器的80端口-p 50000:50000
将镜像的50000端口映射到服务器的50000端口-v jenkins:/var/jenkins_home
/var/jenkins_home
目录为jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。-v /etc/localtime:/etc/localtime
让容器使用和服务器同样的时间设置。--name jenkins
给容器起一个别名
########
我是mac安装的
1、为了方便容器内对配置文件进行修改,需要先创建Jenkins挂载目录并授权权限;
mkdir /Users/a/docker/jenkins_home
chmod 777 /Users/a/docker/jenkins_home
2、使用docker pull jenkins/jenkins命令,拉取Jenkins 镜像,等待安装完成;
3、部署Jenkins
部署命令如下:
docker run --name devops-jenkins --user=root -p 8080:8080 -p 50000:50000 -v /Users/a/docker/jenkins_home:/var/jenkins_home -d jenkins/jenkins:lts
以上参数解释:
docker run :通过镜像运行容器
--name:启动容器的名字,如:devops-jenkins
--user:指定启动用户为root(启动参数需要加上root权限,不然会遇到启动jenkins报权限不足错误)
-p:是将容器的8080端口映射到虚拟机的8080端口,在浏览器访问8080端口就能访问jenkins(50000端口映射的作用)
-v /Users/a/docker/jenkins_home 是将dokcer里面jenkins的目录/var/jenkins_home挂载到本地/jenkins/home
-d 以守护线程方式运行。不加该参数,关掉命令行,docker的jenkins就随之停止了。
########
启动后输入命令docker ps -a
查看所有容器,可以看到jenkins
已成功启动。
六. 配置Jenkins
在浏览器输入http://ip
进入Jenkins登录页面。页面会提示你到服务器的指定位置获取初始化密码。
注意,因为我们是docker
版的jenkins
,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码。
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
在页面输入密码,点击Continue
,进入插件安装页面。我们点击左边的Install suggested plugins
,安装推荐插件就好。
耐心等待安装完成
安装好插件后,系统会提示建立管理员账户。