持续集成与持续交付:(2) jenkins持续集成

1. jenkins简介

 Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。

在这里插入图片描述

CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。

在这里插入图片描述

2. 安装jenkins

软件下载:https://jenkins.io/zh/download/

国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

安装jenkins 以及jdk 并且开启服务

在这里插入图片描述

查看端口,使用的是8080端口

在这里插入图片描述
网页访问172.25.10.5:8080

在这里插入图片描述
查看初始密码

在这里插入图片描述
使用初始密码登陆,选择插件安装

在这里插入图片描述
先不安装插件,以后需要使用什么再安装什么,选择无

在这里插入图片描述

使用默认账号登陆

在这里插入图片描述
修改密码和时区

在这里插入图片描述
重新登陆账号

3 . 开始安装插件

创建目录,下载jenkins需要的证书

在这里插入图片描述
通过命令测试哪个源的下载速度最快
在这里插入图片描述

 curl -sSL https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/speed-test.sh | bash  测试速度
下载证书:
mkdir /var/lib/jenkins/update-center-rootCAs
wget https://cdn.jsdelivr.net/gh/lework/jenkins-update-center/rootCA/update-center.crt -O /var/lib/jenkins/update-center-rootCAs/update-center.crt
chown jenkins.jenkins -R /var/lib/jenkins/update-center-rootCAs

选择dashboard,manage,plugins

在这里插入图片描述
选择advanes,修改下载插件的源地址为速度最快的地址,我清华源较快

在这里插入图片描述

相当于修改了这个文件

在这里插入图片描述各个源对应的地址如下:

在这里插入图片描述

安装一个中文插件
在这里插入图片描述
成功

在这里插入图片描述
安装流水线插件

在这里插入图片描述
安装完成

在这里插入图片描述

4 . 结合gitlab创建项目

(1)轮询方式监控gitlab

新建一个自由风格任务:

在这里插入图片描述
为项目配置gitlab私有仓库,安装gitlab插件

在这里插入图片描述
本机安装git

在这里插入图片描述
生成一个密钥

在这里插入图片描述
查看公钥

在这里插入图片描述
把公钥给gitlab,使jenkins可以调用gitlab

在这里插入图片描述
配置demo,添加私有仓库地址

在这里插入图片描述
无法连接,需要提交凭据

在这里插入图片描述
查看私钥

在这里插入图片描述
添加即可

在这里插入图片描述
查看gitlab的分支

在这里插入图片描述
指定分支

在这里插入图片描述
选择触发器的类型为轮询,* * * * * 表示每分钟查看一次gitlab的代码变化

在这里插入图片描述
构建一个简单的shell命令查看

在这里插入图片描述
一分钟后查看控制台输出

在这里插入图片描述
进入/var/lib/jenkins/workspace目录,在这里面也可以同步gitlab的文件
在这里插入图片描述
在gitlab主机上新建文件,并且上传
在这里插入图片描述
在这里插入图片描述
jenkins上已经同步
在这里插入图片描述
成功
在这里插入图片描述

(2)实时监控gitlab

在gitlab中允许外发请求

在这里插入图片描述
进入jenkins,更换触发器类型,有变动就重新拉取,可以看到URL,复制下来等会用
在这里插入图片描述
点击高级,在下面点击Genreate,生成的token需要保存下来,等会用

在这里插入图片描述
demo项目,设置webhooks,填写jenkins地址和令牌。

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

开始测试:

在gitlab端:

在这里插入图片描述
在这里插入图片描述
jenkins端同步:
在这里插入图片描述
在这里插入图片描述

5 . 结合dockfile自动构建镜像并上传到本地仓库registry

在gitlab端编写上传文件

在这里插入图片描述
在这里插入图片描述
jenkins端已经同步了文件

在这里插入图片描述
安装docker-ce并开启

在这里插入图片描述
修改内核参数并且重载

在这里插入图片描述
上传镜像myapp

在这里插入图片描述
jenkins端安装docker插件

在这里插入图片描述
上传registry本地仓库镜像,后台启动,开启的是5000端口

在这里插入图片描述
给权限,使得jenkins能用套接字使用docker

在这里插入图片描述

配置项目demo,使用docker bulid,设定上传镜像的名字和标签(构建版本号),使用docker套接字,设定仓库地址
在这里插入图片描述
在高级里面,关闭强制拉取,保存配置

在这里插入图片描述
查看控制台正常输出

在这里插入图片描述
在jenkins端测试,已经上传

在这里插入图片描述

6 .结合dockfile自动构建镜像并上传镜像到网络仓库harbor

打开之前搭建的harbor仓库,已经有myapp的镜像了

在这里插入图片描述
所有主机添加解析

在这里插入图片描述
将harbor仓库端的证书和daemon文件拷贝到jenkins端的docker目录下
在这里插入图片描述
在这里插入图片描述
编辑文件

在这里插入图片描述
重启docker后查看 docker info 仓库信息

在这里插入图片描述
进入jenkins,修改demo项目的配置,上传镜像的名称要对应harbor仓库的目录,标签和构建版本号一致,设定套接字,修改仓库地址,由于harbor是加密认证的,所以还需要证书

在这里插入图片描述

添加harbor仓库的账号密码

在这里插入图片描述

选择证书然后保存

在这里插入图片描述
控制台输出正常,demo标签显示27
在这里插入图片描述
harbor仓库也是27
在这里插入图片描述

7、从harbor仓库拉取镜像并运行

新建任务

在这里插入图片描述

配置项目,修改触发器类型,当demo项目稳定运行后,运行docker项目,具体操作是运行一个容器,是一个流水线

在这里插入图片描述
保存,查看容器运行成功

在这里插入图片描述访问测试,是dockerfile之前设置的v1版本
在这里插入图片描述
控制台输出OK在这里插入图片描述
在gitlab上修改Dockerfile文件,修改版本

在这里插入图片描述
在jenkins上并为修改
在这里插入图片描述
jenkins端修改docker项目的配置,执行命令改为删除以前的镜像,运行最新版本的镜像

在这里插入图片描述
控制台输出
在这里插入图片描述
重新访问本地,版本修改

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值