没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
美河学习在线 www.eimhe.com 收集分享
1
Jenkins+Gitlab 持续集成综合实战
一、持续集成应用背景:
二、持续集成概述:
三、持续交付概述:
四、持续部署概述:
五、Jenkins 概述:
六、案例:部署 Jenkins+Gitlab 持续集成:
一、持续集成应用背景:
DevOps:(英文 Development(开发)和 Operations(技术运营)的组合)是一组过程、方
法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门
之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件
产品和服务,开发和运营工作必须紧密合作;
应用背景:
一个开发单打独斗,撸代码,开发网站,自由自在;
多个开发同时开发一个网站,同时改一份代码。但是同时改一个文件会导致冲突;
采用分支结构,每天上班第一件事克隆代码,下班前最后一件事合并代码;
好景不长,开发越来越多,代码文件越来越多。每天下班前合并代码时,发现很多合并失败
的文件。最后每天加班 3 小时人工合并代码;
解决方法:将代码合并的周期缩短,以前一天,现在一小时,半小时;
随时随地将代码合并,这种方法叫做持续集成;
理解持续集成、持续交付、持续部署:https://blog.csdn.net/kone0611/article/details/78534886
二、持续集成概述:
概述:持续集成(Continuous integration,简称 CI),一种软件开发实践,即团队开发成员
经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集
成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发
现集成错误;
美河学习在线 www.eimhe.com 收集分享
2
理解 jenkins 持续集成:https://www.cnblogs.com/liyuanhong/p/6548925.html
持续集成要素:
1.统一的代码库;
2.自动构建;
3.自动测试;
4.每个人每天都要向代码库主干提交代码;
5.每次代码递交后都会在持续集成服务器上触发一次构建;
6.保证快速构建;
7.模拟生产环境的自动测试;
8.每个人都可以很容易的获取最新可执行的应用程序;
9.每个人都清楚正在发生的状况;
10.自动化的部署;
三、持续交付概述:
概述:持续交付(Continuous delivery,简称 CD),指的是:频繁地将软件的新版本,交付
给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段;持续交付可以看作
持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的;
代码测试通过了,该到生产环境部署了,部署时要么成功,要么失败回滚;
美河学习在线 www.eimhe.com 收集分享
3
四、持续部署概述:
概述:持续部署(Continuous Deployment,缩写为 CD)是持续交付的下一步,指的是代码
通过评审以后,自动部署到生产环境;持续部署的目标是,代码在任何时刻都是可部署的,
可以进入生产阶段;
美河学习在线 www.eimhe.com 收集分享
4
五、Jenkins 概述:
概述:Jenkins 是一个用 Java 编写的开源的持续集成工具,Jenkins 提供了软件开发的持续集
成服务。它运行在 Servlet 容器中(例如 Apache Tomcat)。它支持软件配置管理(SCM)工
具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC),可以执行基
于 Apache Ant 和 Apache Maven 的项目,以及任意的 Shell 脚本和 Windows 批处理命令;
Jenkins 目的:
1.持续、自动地构建/测试软件项目;
2.监控软件开放流程,快速问题定位及处理,提示开放效率;
特性:
开源的 java 语言开发持续集成工具,支持 CI,CD;
易于安装部署配置:可通过 yum 安装,或下载 war 包以及通过 docker 容器等快速实现安装部
署,可方便 web 界面配置管理;
消息通知及测试报告:集成 RSS/E-mail 通过 RSS 发布构建结果或当构建完成时通过 e-mail
通知,生成 JUnit/TestNG 测试报告;
美河学习在线 www.eimhe.com 收集分享
5
分布式构建:支持 Jenkins 能够让多台计算机一起构建/测试。
文件识别:Jenkins 能够跟踪哪次构建生成哪些 jar,哪次构建使用哪个版本的 jar 等;
丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如 git,svn,maven,
docker 等;
产品发布流程:
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
六、案例:部署 Jenkins 持续集成;
案例环境:
系统类型
IP 地址
主机名
所需软件
内存
Centos 7.4 1708 64bit
192.168.100.101
jenkins.linu
xfan.cn
jdk-8u171-linux-x64.tar.gz
apache-tomcat-9.0.10.tar.gz
jenkins.war
apache-maven-3.5.4-bin.tar.
gz
git
gitlab-ce
4G
Centos 7.4 1708 64bit
192.168.100.102
http.linuxfa
n.cn
httpd
1G
组件作用:
Maven 的作用:Maven 负责 java 语言的编译和打包换个角度来说,Maven 相当于 Java 中的
make 命令,同类型的工具有 Ant,但是 Ant 不提供解决依赖关系的功能,如若上传 nginx 等
html 的文件则不需要 maven 程序;
JENKINS 的作用:通过 git 或者 svn 等命令从仓库中拉取源码,让 maven 进行编译并打包,
把打好的包发送到目标主机,执行部署脚本,自动触发构建操作;
Gitlab 的作用:Gitlab 用来做开发人员通过 git 提交的代码存放的仓库进行管理;
案例步骤:
安装 Gitlab 程序:
配置并启动 Gitlab 程序:
通过 web 页面配置 Gitlab 程序:
通过 web 页面创建 Gitlab 项目:
通过 git 命令测试下载 Gitlab 中的项目代码及测试上传项目代码:
访问 Gitlab 的 web 页面验证上传的项目代码:
安装部署 jdk 环境:
安装部署 apache-maven 框架:
安装部署 jenkins 程序(四种方式,在此使用第三种基于 tomcat 安装):
配置 jenkins 的 web 页面:
设置 jenkins 的环境变量与允许用户注册:
设置 jenkins 中的 jdk 的位置和 maven 的位置:
剩余34页未读,继续阅读
资源评论
machen_smiling
- 粉丝: 506
- 资源: 1958
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功