文章目录
什么是持续集成?CI/CD指的是什么?如何实现持续集成一、筹备工作,CentOS 7.6系统1、安装JDK,配置环境变量2、Maven下载3、Git安装4、GitLab安装5、Git密钥生成以及Gitlab配置6、Maven私服Nexus的搭建7、安装Jenkins8、Sonar安装教程 二、实现持续集成1、以前的手动集成2、Hook触发自动构建3、流水线Pipeline4、分布式构建什么是持续集成?CI/CD指的是什么?
CI(Continuous Integration)指的是持续集成,
CD指的是持续交付(持续部署)
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。
持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
为什么需要持续集成呢?
为了提高效率。
如何实现持续集成
本文将使用Jenkins+Git+Gitlab+Sonar+Nexus实现持续集成。
一、筹备工作,CentOS 7.6系统
就全部使用我写过的文章啦,哈哈哈哈,步骤真的很细
1、安装JDK,配置环境变量
传送门:JDK安装和配置 - 全系统教程(CentOS&Mac&Windows)
2、Maven下载
传送门:Maven的安装配置
3、Git安装
官网传送门:Git - Downloads
4、GitLab安装
传送门:Centos7.6安装Gitlab
5、Git密钥生成以及Gitlab配置
传送门:Git密钥生成以及Gitlab配置
6、Maven私服Nexus的搭建
传送门:使用Nexus搭建Maven私服
7、安装Jenkins
传送门:Jenkins安装教程
包含添加Sonar和maven等相关插件
8、Sonar安装教程
传送门:SonarQube安装教程
二、实现持续集成
1、以前的手动集成
定时表达式含义* * * * * --五个字段分 时 天 月 周
构建环境
Delete workspace before build starts:在构建之前清空工作空间Abort the build if it's stuck:如果构建出现问题则终止构建Add timestamps to the Console Output:给控制台输出增加时间戳Use secret text(s) or file(s):使用加密文件或者文本
执行shell
#!/bin/bashmv target/*.jar /root/demo/cd /root/demoBUILD_ID= java -jar springboot-demo.jar >log 2>&1 &
2、Hook触发自动构建
安装Gitlab钩子。Jenkins - 插件管理点开指定的Jenkins任务 - 配置 - 构建触发器的位置多了一个
选择Enabled Gitlab triggers的时间,并且复制出来下图中的url,用于gitlab配置
点开高级,选择generate生成一个token,复制出来,gitlab会用
复制token
第一步点开Admin,第二步打开Setting打钩,save change 打开指定的项目,integrations
填写URL和token
Add WebHook就完事!
3、流水线Pipeline
比较复杂的一些工程,使用代码进行配置,主要使用的语言是Groove
安装插件打开Open Blue Ocean
使用这个蓝海进行创建流水线。配置方法和新建一个任务大体一致,细不谈。
4、分布式构建
当我们Jenkins的任务太多忙不过来,需要更多的空余机器帮忙执行构建,就需要配置多节点。
系统管理 - 管理节点 - 新建节点
填写相应信息
显示离线
原因是因为没有配置它的jdk路径,重新打开设置。点开高级。
配置新的任务
可以看到test2已经正在构建了,说明分布式构建生效!
如果觉得《【DevOps】Jenkins+Git+Gitlab+Sonar+Nexus实现持续集成》对你有帮助,请点赞、收藏,并留下你的观点哦!