Jenkins 部署(centos、docker)
一、 部署并运行
前提:系统要求 centos7 , docker已安装
创建并运行jenkins 的docker 实例(已创建不要运行该命令) :
# docker run -d -p 8000:8080 -v /home/jenkins:/home/jenkins --name jenkins --restart=always jenkins/jenkins
或是
# mkdir /opt/jenkins/data
# chmod -R 777 /opt/jenkins/data
# docker run -d-p 8000:8080 --privileged=true -v /opt/jenkins/data:/var/jenkins_home --namejenkins --restart=always jenkins/jenkins
注:这两种创建方式的区别是一个非工作目录挂载,一个是工作目录挂载宿主机,第二种有一个好处就是不用去docker容器修改jenkins的一些运行配置,因为工作目录已经挂载到了宿主机,第二种创建方式为啥要加上创建目录和授权,这里解释一下,因为/var/jenkins_home是docker 容器运行时的工作目录,需要读写权限,所以挂载到宿主机就要授权该挂载目录的读写权限给docker容器,并且一定要加上--privileged=true参数,不然一样无法正常启动(亲测)
参数说明:
-d:后台运行
-p:端口映射,宿主机端口:docker端口
-v:目录挂载(宿主机没有目录会自动创建) 宿主机目录:docker目录
--name:docker名称
--restart=always:随docker重启而重启
二、 容器和宿主机时区同步
docker cp /usr/share/zoneinfo/Asia/Shanghai jenkins:/etc/localtime
jenkins 容器名称或者ID都可以
三、 解决国内插件安装慢的方法
进入docker命令行
# docker exec -it jenkins bash
进入Jenkins 的updates目录
# cd /var/jenkins_home/updates/
备份default.json文件
# cp default.json default.back.json
修改插件更新地址
# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
退出命令行
# exit
重启docker
# docker restart jenkins
若是第二种部署方式,可以直接在宿主机修改配置
cd 宿主机目录/updates/
cd /opt/jenkins/data/updates/
后面步骤一致
四、 安装后的jenkins 初始化
1. 打开Jenkins web
在浏览器输入http://ip进入Jenkins登录页面。页面会提示你到服务器的指定位置获取初始化密码。
输入密码2. 输入启动密码
注意,因为我们是docker版的jenkins,所以这个路径不是服务器的路径,而是容器内的路径。我们可以通过如下命令从容器中获取到初始化密码。
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
若是第二种方式部署,可以直接在宿主机查看
cat 挂载目录/secrets/initialAdminPassword
如:
cat /opt/jenkins/data/secrets/initialAdminPassword
查看密码在页面输入密码,点击Continue,进入插件安装页面。我们点击左边的Install suggested plugins,安装推荐插件就好。
3. 安装推荐插件
安装推荐耐心等待安装完成
安装好插件后,系统会提示建立管理员账户。
4. 创建管理员
创建管理员账户后进入系统