西数超哥博客
运维经验教程分享

Jenkins集成部署软件简介以及Jenkins+Gitlab搭建持续集成(CI)环境

一,Jenkins工具简介

Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。


Jenkins是一种软件允许持续集成。Jenkins 安装在一台服务上也中央构建发生的地方。下面的流程图展示了Jenkins是如何工作的一个非常简单的工作流。

伴随着Jenkins,有时人们还可能看到它与Hudson关联。Hudson是由 Sun Microsystems 开发的一个非常流行的开源,基于Java 的持续集成工具,后来被Oracle收购。Sun被Oracle收购之后,一个从 Hudson 源代码的分支由 Jenkins 创建出台。

二,什么是持续集成(CI)
持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库。这个概念是为了消除发现的问题,后来出现在构建生命周期的问题。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建应该被触发。
系统要求

JDK JDK 1.5 或以上
Memory 2 GB RAM (推荐)
Disk Space 没有最起码的要求。需要注意的是,因为所有的构建将保存在 Jenkins 机器上,它必须确保有足够的磁盘空间可用于构建存储。
Operating System Version Jenkins可以安装在Windows, Ubuntu/Debian, Red Hat/Fedora/CentOS, Mac OS X, openSUSE, FReeBSD, OpenBSD, Gentoo 系统上
Java Container WAR文件可以在支持 Servlet2.4/JSP2.0或更高版本的容器中运行。(一个例子是Tomcat 5)。

 

三,利用Jenkins+Gitlab搭建持续集成(CI)环境
选择Jenkins作为持续集成工具,其优点是提供web GUI配置界面,方便配置,还可以安装很多第三方插件(plugin)进行定制与扩展,功能强大。
其次选择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来加快编译速度。

tips:
jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本,用来告诉jenkins在一次集成中需要执行的任务。

参考资料:
Jenkins集成部署软件简介:  http://yiibai.com/jenkins/
利用Jenkins+Gitlab搭建持续集成(CI)环境:http://www.w2bc.com/article/60615
用 GitLab + Jenkins 搭建 CI:  http://www.tuicool.com/articles/MnamimA

转载请注明:西数超哥博客www.ysidc.top» Jenkins集成部署软件简介以及Jenkins+Gitlab搭建持续集成(CI)环境

https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Jenkins集成部署软件简介以及Jenkins+Gitlab搭建持续集成(CI)环境