有关持续集成和jenkins
来源:互联网 发布:印度 伊朗 知乎 编辑:程序博客网 时间:2024/05/21 00:00
源码管理选择Git
齿轮:如果将java/maven/ant/git/tomcat/jenkins等软件比喻为齿轮,如下图
2)两个软件在一起可以驱动另外一个软件,如下图
3)如果把这些软件要集成在一起工作,那么这个软件就可以存在其他软件的中间来驱动各个软件工作,如下图:
4)jenkins就是类似中间那个齿轮,来驱动其他软件的集成一起工作,如下图
jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使得持续集成编程可能。它的前身是hudson,是基于java开发的一种持续集成工具,它可以根据配置进行持续定期编译,运行相应的代码,将运行结果发送至邮件或者展示成报告等。
[为什么]
jenkins作为持续集成的标志性工具,自然是有了持续集成的众多优点。jenkins可以做一些自动化的build,只要我们把jenkins搭建成功,可以设置几分钟build一次,在定时自动build,验证单元测试,如果发生错误则把错误报告以email形式发送给项目模块负责人。
[宏观理解]
先来张图,大致理解下宏观:
详细介绍:
至于关于邮件的配置,也是为了方便我们的开发和管理,jenkins很强大。
讲到这里,还是“啊呀呀,完蛋,还是有点不懂“的话,不如直接甩图(从网上copy下来的):
这里是选择Gitlab作为git server。Gitlab的功能和Github差不多,但是是开源的,可以用来搭建私有git server,也提供非常强大的web GUI,比如开发者互相review源代码的时候就会很方便。
系统的工作流程大概分为以下几步:
1> 开发者将新版本push到git server (Gitlab)。
2> Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)
3> jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。
4> 我们在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度。
notes
jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本,用来告诉jenkins在一次集成中需要执行的任务。
不过我之后是用的Github作为git server。但其实差不多,先讲到这里,重点难点还是在之后jenkins的安装配置使用上。
- 有关持续集成和jenkins
- 持续集成和Jenkins介绍
- 持续集成和hudson/jenkins简介
- Jenkins和Maven构建持续集成
- jenkins-php持续集成和自动化测试
- Jenkins持续集成Job创建和配置
- jenkins-fastlane 持续集成和自动化打包
- 持续集成管理工具Jenkins
- jenkins持续集成(全)
- Jenkins 持续集成
- jenkins CI 持续集成
- Jenkins持续集成
- 持续集成jenkins部署
- Jenkins持续集成教程
- 持续集成 之 Jenkins
- Jenkins 持续集成
- Jenkins持续集成
- 【持续集成】Jenkins
- Git 操作实战示例(四)
- 获取log在位置
- Error类和Exception类的区别
- GoogLeNet网络模型
- springcloud turbine
- 有关持续集成和jenkins
- android studio 开发中遇到的问题
- 一个漂亮的php验证码类(分享)
- hdu 3001 Travelling (TSP 三进制,状压dp)
- 博客开启之路
- sql优化学习 主章
- SQLite 中的递归
- 有趣的安全游戏--哈密顿行动(一)神秘的网页
- Python3 print 不输出换行