运维实操——持续集成与持续交付之jenkins(上)

1、什么是jenkins?

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

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

CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
在这里插入图片描述
CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中
在这里插入图片描述

2、jenkens安装

准备新虚拟机server2,需要联网
国内镜像网站下载软件包https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
安装jdk和jenkins,开启
在这里插入图片描述
使用8080端口
在这里插入图片描述
网页访问http://172.25.77.2:8080,第一次登陆初始化较慢
在这里插入图片描述
进入目录,查看初始密码
在这里插入图片描述
输入初始密码
在这里插入图片描述
选择插件安装
在这里插入图片描述
现在还不知道需要什么插件,先不安装插件,后面用到什么再说
在这里插入图片描述
先使用默认初始密码登陆
在这里插入图片描述
修改密码
在这里插入图片描述
修改时区
在这里插入图片描述

重新登陆

3、插件安装

准备更新插件需要的证书
在这里插入图片描述

通过下面命令测试哪个插件源速度快,我这里清华快
在这里插入图片描述
选择dashboard,manage,plugins
在这里插入图片描述
选择advanes,修改下载插件的源地址为清华的镜像,这样速度快
在这里插入图片描述
安装中文插件
在这里插入图片描述
成功
在这里插入图片描述
安装流水线插件
在这里插入图片描述
成功
在这里插入图片描述

4、结合gitlab创建项目

(1)轮询方式监控gitlab

创一个项目,叫demo,自由风格
在这里插入图片描述
为项目配置gitlab私有仓库,安装gitlab插件
在这里插入图片描述
Jenkins本机server2安装git工具
在这里插入图片描述
创建密钥
在这里插入图片描述
查看公钥
在这里插入图片描述
把公钥给gitlab,使jenkins可以调用gitlab
在这里插入图片描述
配置demo项目,在源码管理一栏添加私有仓库地址
在这里插入图片描述
添加证书凭据
在这里插入图片描述
使用ssh的方式,输入用户名称,
在这里插入图片描述
查看私钥
在这里插入图片描述
直接输入ssh产生的私钥(和给gitlab的公钥对应)
在这里插入图片描述
选择刚制作的证书,选择分支默认为master(与gitlab中一致)
在这里插入图片描述
选择触发器的类型为轮询,* * * * * 表示每分钟查看一次gitlab的代码变化,执行的命令就先执行简单的查看
在这里插入图片描述
一分钟后查看控制台输出正常
在这里插入图片描述
/var/lib/jenkins/workspace就可以同步gitlab的文件
在这里插入图片描述
在server1更新仓库,新建一个index.html文件,添加提交上传
在这里插入图片描述
一分钟以后,server2就同步了
在这里插入图片描述
控制台也可以看到成功了
在这里插入图片描述

(2)实时监控gitlab

在gitlab中允许外发请求
在这里插入图片描述
demo项目,设置webhooks,填写jenkins地址和令牌,具体哪里找这两个信息,下面说
在这里插入图片描述
进入jenkins,更换触发器类型,有变动就重新拉取。不要上面的轮询了。可以看到URL地址就在这里
在这里插入图片描述
打开高级,可以看到上面需要的令牌,保存配置
在这里插入图片描述
测试:
在server1端,修改代码库,添加提交上传
在这里插入图片描述
在server2端jenkins就可同步,也可以查看控制台输出

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

仓库中编写dockfile文件,添加提交上传到gitlab代码仓库
在这里插入图片描述
server2同步了dockerfile文件
在这里插入图片描述
需要安装docker-ce,并开启
在这里插入图片描述
修改内核参数并重载
在这里插入图片描述
准备好所需要的镜像myapp
在这里插入图片描述
jenkins安装docker插件
在这里插入图片描述
上传registry本地仓库镜像,并后台启动,开启的5000端口
在这里插入图片描述
给权限,使得jenkins能用套接字使用docker
在这里插入图片描述
配置项目demo,选择docker构建,设定上传镜像的名字和标签(就是构建版本号),使用docker套接字,设定仓库地址
在这里插入图片描述
高级里面,注意关闭强制拉取,保存配置
在这里插入图片描述
查看控制台输出正常
在这里插入图片描述
在server2测试,已上传到registry
在这里插入图片描述

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

新建一个虚拟机server9,搭建harbor仓库,启动harbor仓库,仓库中上传镜像myapp
具体参考以前博客运维实操——docker容器(四)搭建远程容器仓库harbor、漏洞扫描和内容信任

给所有主机添加解析,reg.westos.org
在这里插入图片描述
需要把server9中的证书给server2
在这里插入图片描述
编写daemon.json文件,告诉docker使用harbor仓库,重启docker
在这里插入图片描述
docker info可以查看到仓库
在这里插入图片描述
进入jenkins,修改demo项目的配置,上传镜像的名称要对应harbor仓库的目录,标签和构建版本号一致,设定套接字,修改仓库地址,由于harbor是加密认证的,所以还需要证书
在这里插入图片描述
添加证书凭据,输入harbor仓库的用户名和密码
在这里插入图片描述
选择证书,保存,执行
在这里插入图片描述
查看控制台输出正常,我这里是第19次构建,
在这里插入图片描述
在harbor仓库查看镜像的标签也是19
在这里插入图片描述

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

新建项目docker
在这里插入图片描述
配置项目docker,修改触发器类型,当demo项目稳定运行后,运行docker项目,具体操作是运行一个容器
在这里插入图片描述
测试,开启了80端口,访问结果就是之前的dockerfile文件设定的v1版本
在这里插入图片描述
当更新版本时,在server1修改dockerfile文件为v2版本,添加提交上传至gitlab代码仓库
在这里插入图片描述
jenkins修改docker项目的配置,执行命令改为删除以前的镜像,运行最新版本的镜像
在这里插入图片描述
控制台输出成功
在这里插入图片描述
再次测试,变为v2版本
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值