1.jenkins的简介

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
在这里插入图片描述
CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。
在这里插入图片描述

2.jenkins的安装

【实验环境】:
主机server1:192.168.43.10 gitlab开启
主机server3:192.168.43.12用来安装jenkins

安装jenkins需要准备jdk和jenkins的rpm包。
软件下载:https://jenkins.io/zh/download/
国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

安装jenkins:

rpm -ivh jdk-8u181-linux-x64.rpm  ##先安装jdk
rpm -ivh jenkins-2.225-1.1.noarch.rpm ##安装jenkins

在这里插入图片描述

systemctl start jenkins  ##打开jenkins服务

浏览器访问一下:http://192.168.43.12:8080
在这里插入图片描述
安装jenkins需要安装一些插件,如果用他自带的插件源,下载会很慢,容易卡住。所以我们需要更新插件源:
首先我们需要保证虚拟机能够上网:
在这里插入图片描述

 vim /var/lib/jenkins/hudson.model.UpdateCenter.xml ##再编辑这个更新中心

在这里插入图片描述
浏览器中我们要使用初始密码登陆:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd /var/lib/jenkins/updates  ##进入到这个目录中
ls   ##查看一下里面的文件
sed -i.bak 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json  ##将default.json文件中默认的下载地址用清华下载站给替换掉
sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json  ##将default.json文件中的谷歌浏览器访问用baidu.com替换掉

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装插件,使用默认推荐的就好。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.jenkins的使用

新建一个自由风格的任务:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加访问git的私钥:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
定义轮询间隔,有更新时触发jenkins构建
在这里插入图片描述
构建选择执行shell命令
在这里插入图片描述
在这里插入图片描述
git提交代码到gitlab上,jenkins轮询检测到代码仓库的变更,触发构建。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用容器化来构建
首先需要在server3上面安装docker容器
在这里插入图片描述

systemctl start docker  ##再开启docker

在这里插入图片描述

docker info  ##查看容器信息

在这里插入图片描述
在这里插入图片描述

cd /etc/sysctl.d
vim bridge.conf  

在这里插入图片描述

sysctl --system  ##使刚才的设置生效一下

在这里插入图片描述
在这里插入图片描述
我们在server1的demo工作目录下上创建一个Dockerfile文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时由于git向gitlab推送了新的内容,jenkins轮询检测到代码仓库的变更,触发构建。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面能看到Dokcerfille文件已经在server3的/var/lib/jenkins/workspace/demo/目录下了。现在我们还需要让jenkins自动构建docker镜像。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为上面叫输入docker仓库,所以这里我们先来搭建一个docker的私有仓库。

docker pull registry  ##首先在github上拉取一个私有仓库
dcoker images  ##查看一下docker的镜像
docker run -d --name registry -p 5000:5000 registry   ##运行registry容器,-d是打入后台,-p 是做一个端口映射
netstat -nplt  ##查看一下端口
docker ps  ##查看一下正在运行的容器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面docker私有仓库就搭建好了,这时我们可以向里面上传镜像。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时需要修改docker.sock权限,不然jenkins无法直接执行docker命令:

chmod 777 /var/run/docker.sock

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们来创建一个docker任务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

visudo  ##编辑这个

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐