当前位置:   article > 正文

jenkins_docker安装jenkins

docker安装jenkins

一、搭建jenkins
使用docker搭建jenkins其实很简单,但是对于镜像的选择还是需要考虑的。jenkins官方推荐使用jenkinsci/blueocean这个镜像,请不要去直接下载jenkins的镜像,这个镜像不好用,建议使用官方推荐的镜像:jenkinsci/blueocean。这里笔者使用的是该镜像的1.24.1-bcc31d32159f这个版本,这个镜像的jenkins是2.2版本的,只不过镜像的tag不是2.2而已,这个不需要在意。同时这个镜像的jdk是1.8的,刚好适用。

1.使用docker安装jenkins
若是没有docker的话,可以参考这篇文章进行安装:centos7安装docker,下面是使用docker安装jenkins的过程。

1)执行命令:

# 下载jenkins镜像,这是官方推荐的镜像
docker pull jenkinsci/blueocean:1.24.1-bcc31d32159f
# 创建容器并启动
docker run -d -u root -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name MyJenkins jenkinsci/blueocean:1.24.1-bcc31d32159f

2)运行截图:

在这里插入图片描述
3)参数解释:
这块都是参数的解释,可以不看。笔者选择这个版本的原因是他的jdk是jdk8的,最新版的镜像的jdk是jdk11,而且这个镜像的jenkins版本也是2.X版是够用的。此外解释下docker run后面的参数:

参数-d:表示后台运行,容器不会因为退出而停止。
参数-u:表示以什么用户启动容器,这里是以root用户启动容器,这样后期操作容器不会出现权限不足的问题(笔者碰到过)。
参数-p:表示端口映射,冒号左边是宿主机端口,右边是容器端口。端口映射后访问宿主机这个端口就相当于访问容器的这个端口。
参数-v:表示文件/目录共享,专业来说叫数据卷。冒号左边是宿主机的目录,右边是容器目录,通过这种共享在容器启动后容器内的目录下的内容都会共享到宿主机的目录下,这样我们想要查询信息就会比较方便,就不需要再进入容器了。
参数–name:表示为容器起个名字,在容器比较多时使用名称可以很快的区分各个容器,注意这个参数是两个间隔符,不是一个。
2.查看jenkins容器是否正常启动
1)执行命令
# 该命令可以查看所有容器的大致信息
docker ps -a

2)运行截图

在这里插入图片描述

3)参数解释
这里执行的命令很简单,就是一个查看容器信息的ps命令,与linux中的ps差不多。那就解释下8080端口和50000端口吧。8080端口是管理控制台的端口,我们访问jenkins的控制台页面就是通过这个端口。至于50000端口也是必须的,50000端口是jnpl的端口,这要从jenkins是java实现的说起,我们可能会发现jenkins既然是java实现为什么安装jenkins后可以直接通过浏览器访问呢?而不需要tomcat等web服务器呢?这就是因为jnlp。jnlp可以让java程序直接通过浏览器来进行访问,就是访问web服务器一样。而这个50000端口就是因为这个开的。
3.查看jenkins的初始密码
1)执行命令

# 创建完容器后可以使用这个命令查看初始密码
docker logs 容器名/id
# 若是隔了很久,用上面的命令可能看不到密码信息,我们还可以直接使用这个命令查看
cat /var/jenkins_home/secrets/initialAdminPassword

2)运行截图

在这里插入图片描述
3)参数解释
这两个命令都是用于查看初始密码的,好像也没有刻意解释什么的。

4.登录jenkins的管理页面
1)输入ip:8080登录页面
然后就会进入到如下页面,在输入框中输入刚刚看到的初始密码,然后稍许等待即可。

在这里插入图片描述

2)选择推荐插件
安装插件时可能有一部分会失败,大部分情况都会全部成功。若有部分失败,也基本无影响,请忽略他(笔者多次安装都失败了7个左右,并不影响正常使用,因为部分插件我们也用不到)。

在这里插入图片描述

3)创建初始用户
这里用户名密码啥的自己随便填就行,别忘了就行。然后就一直下一步就行,最后jenkins会自动重启,重启完成后我们就可以进入jenkins的管理页面了。

在这里插入图片描述

5.安装必须的插件
其实到jenkins我们已经安装完成了,只需要在安装一些需要使用的插件就可以正常使用了。这里笔者安装三个插件maven、gitee、Post build task。其中maven用来打包程序、gitee是因为笔者代码在gitee上,需要从gitee上拉取代码,Post build task这个插件是用来打包完成后部署服务执行shell脚本使用的。安装插件有两种途径一种是在“全局配置工具”中安装,一种是在“插件管理”中安装,这里笔者会两个地方都使用。

1)安装maven
这里在“全局配置工具”中安装maven。

在这里插入图片描述

然后我们找到配置maven的地方进行如下配置即可,其中maven版本自己选择即可。配置完成后先点击“应用”按钮,再点击保存即可。

在这里插入图片描述
2)安装gitee
这里从“插件管理”中安装gitee。

进入到“插件管理”后,在“可选插件”一栏搜索gitee然后点击直接安装即可。

在这里插入图片描述

然后等待安装完成即可,这里基本不会失败的。安装完成后先不要重启jenkins,等我们装完所有插件后再进行重启jenkins。

3)安装Post build task
这个插件和gitee的安装没什么区别,如下图所示

在这里插入图片描述

待安装完成后,勾选如下按钮,让jenkins空闲时间进行重启来使插件生效,事实上只要jenkins没有在打包和部署就是空闲时间,所以勾选就会立马重启jenkins。

在这里插入图片描述
二、总结安装
这样其实jenkins就装完了,也配置完了,整个安装过程其实不难,对于初次使用jenkins的同学来说困难的可能就是选择插件的问题。这里总结下插件,其实总共需要的有JDK、Git/Gitee、Maven、Post build task这些。JDK容器自带了,而且都是配置好的,所以在jenkins页面里我们无需多余一次配置。Git也是自带的,若是使用的Gitee则需要重新安装插件,也是安装即可,安装完成后无需在“全局配置管理”中进行配置。同样的Maven、Post build task都是安装完毕即可,无需其他配置。安装完成后下面就是需要进行搭建持续集成、持续交付、持续部署的环境了。

一、docker的安装
1.环境声明
安装docker请一定看好自己宿主机的系统和内核这个有很大的关系,不同的系统不同的内核会有很大区别,centos6.8和7都有很大区别,其他的ubantu和redhat、windows、mac等都有很大区别。
宿主机系统:centos7
宿主机内核:3.10.0-1160.42.2.el7.x86_64
安装的docker版本:18.06.3-ce(centos最好选ce版)

2.安装步骤
第1步.这一操作慎用,可能对内核和渠道会进行升级。若是生产环境使用前请认真查询该命令可能带来的影响并咨询运维人员或者服务器管理人员。 注意,这一步完全可以不用操作,建议安装docker时使用root用户安装,若是失败后再执行该命令。
yum update 

第2步.安装需要的软件包,这一步没啥好商量的执行就完了
yum install -y yum-utils device-mapper-persistent-data lvm2 

第3步.配置下载docker
# yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

第4步.查看docker的所有版本
yum list docker-ce --showduplicates | sort -r

第5步.选择合适的版本安装docker,笔者选择的是:docker-ce-18.06.3-ce
yum -y install docker-ce-18.06.3.ce
# yum -y install docker-ce-20.10.12-3.el7.x86_64 # docker的版本自己选择好了,建议centos7.9用这个版本

第6步. 安装完成,查看docker版本
docker version 

第7步.启动docker
systemctl start docker

第8步.添加docker开启启动
systemctl enable  docker

3.docker的其他系统级命令
# 重启docker
sudo systemctl restart docker
# 停止daemon线程,也就是停止docker
sudo systemctl stop docker
# 重载daemon.json配置文件
sudo systemctl daemon-reload 
# 卸载docker
sudo yum remove docker-ce docker-ce-cli containerd.io

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/216841
推荐阅读
相关标签
  

闽ICP备14008679号