ubuntu 中安装jenkins,基于docker运行jenkins


   本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中,至于docker如何安装,本文不再描述,大家可以上网查询下,如何安装docker,下面先放上一个使用jenkins自动部署原理图片(图片是网上找的,感谢原创分享)

  下面介绍安装jenkins步骤:

  • 使用下面的命令拉取jenkins的docker镜像,这里用的是lts的长期支持版本,你可以到jenkins官网自由选择其他版本

 

sudo docker pull jenkins/jenkins:lts

 

  • 配置宿主机映射到容器的目录,之后jenkins的一些配置文件都将会存储到该目录下,这个目录可以自己定,但是我建议遵守我这样的规范,便于日后查找和管理

 

sudo mkdir /home/jenkins_home            # 创建jenkins_home目录
sudo chown -R 1000:1000 /home/jenkins_home      #设置该目录的所有者和所属的组,普通用户默认uid为1000,gid为1000,chown应该是change own的简写,指改变文件夹权限,-R指遍及子目录
  • 启动jenkins的docker镜像,并设置相关参数,参数解释: 
-d  表示以后台模式运行
--name  为容器定义一个名字(后面可以代替容器id使用)
-p  表示映射容器的端口到宿主机的端口
-v  表示映射宿主机的目录到容器的目录
-u root  使用root用户运行,避免后面出现的一些执行权限问题
-v /home/jenkins_home:/var/jenkins_home  映射jenkins_home,将数据存储到宿主机,这样配置就不会随容器丢失
-v /var/run/docker.sock:/var/run/docker.sock 与 -v /usr/bin/docker:/usr/bin/docker  把宿主机docker 映射到容器内,可以直接在容器内使用宿主机docker
-v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \  容器内docker运行需要的库文件
-v /opt:/opt \  自主安装的一些运行时软件(如java/maven/git...)
-v /etc/timezone:/etc/timezone  映射时区文件,保证容器的时区和宿主机相同(官网的jenkins容器时区不是中国的时区)
最后的jenkins/jenkins:lts是要启动的镜像
sudo docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -u root \
  -v /home/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker \
  -v /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
  -v /opt:/opt \
  -v /etc/timezone:/etc/timezone jenkins/jenkins:lts
  • 容器启动后,就可以访问ip:8080看到jenkins首次运行的首页了,然后通过下面命令查看初始密码,填入之后跳转到安装插件的页面,选择第一个就好,会默认安装一些插件
sudo cat /home/jenkins_home/secrets/initialAdminPassword

  按照上面的步骤jenkins安装成功了,打开浏览器输入http://192.168.10.*:8080,地址,如页面报错,提示一直加载中,应该是jenkins服务没有启动成功,手动启动下jenkins容器。  

sudo docker restart jenkins 启动jenkins容器

  • 启动成功后,再次打开http://192.168.10.*:8080输入默认密码后,会提示安装一些组件,使用建议安装即可,安装成功后会进入设置账号和密码页面
  • 输入正确的用户名和密码后,页面可能空白,这时我们可以打开下面两个地址

  Jenkins插件管理界面==> http://192.168.10.*:8080/pluginManager
  Jenkins插件管理-高级设置界面==> http://192.168.10.*:8080/pluginManager/advanced

  Jenkins更新页面http://192.168.10.*:8080/updateCenter

 

  感谢原文作者分享https://www.jianshu.com/p/9018cfa3654b


作者:howdy,发布于:2019/05/15
原文:https://www.cnblogs.com/personblog/p/10871440.html