Jenkins +svn(学习笔记三十)

Jenkins + SVN 持续集成

 无事在家,闲得发慌,上周六面试华为的配置管理工程师,让我明白了在社会大行业里配置管理其实是个更为专业的岗位,涉及到软件开发的各个流程,数据的产生,规范的定义,代码的持续集成,基线管理,当然也涉及到供应链的一些东西,在工作中发现问题,解决问题,推动一些流程规范的制订,对流程中出现的问题进行修正等等。而我在原公司的配置管理更多是个兼职,是为软件工程师+配置管理工程师,特别是在软件部改革后,配置方向更多的边缘化,更多是DD会议召开,BUG发布及合并,代码审核数据汇总。也难怪配置管理会是一个兼职,软件上做的工作仅仅是配置管理(CM)这个岗位很小的一部分,也不可能花大价钱养一个人在这个岗位上了。

 原来廖师傅整了个自动构建,当时觉得好牛X,也是因为太闲了,在面试中也不断提到持续集成这个概念,便萌发出自已搞搞,看能不能在实践中有所了解。

 先百度个概念。

 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。

 要素:

 1.统一的代码库

2.自动构建

3.自动测试

4.每个人每天都要向代码库主干提交代码

5.每次代码递交后都会在持续集成服务器上触发一次构建

6.保证快速构建

7.模拟生产环境的自动测试

8.每个人都可以很容易的获取最新可执行的应用程序

9.每个人都清楚正在发生的状况

10.自动化的部署

百度百科:http://baike.baidu.com/view/5253255.htm

从这十点要素出发,原公司的自动构建,除了第3,第7,第10三个点,其它都是已经具备了。听说IT那边在做虚拟U盘,完成后,估计离自动测试这几个要素的完善也不远了。好了,废话说完,下面一点步骤记录,以供参考吧。

Jenkins

百度百科:http://baike.baidu.com/view/6190216.htm?fr=aladdin

确保系统安装了JDK,怎么安装就不说了。保证在cmd里运行$ java -version能有下图提示即可。

下载jenkins.war

切换到jenkins.war存放的目录,输入如下命令:

$ java -jar jenkins.war

看到红框就说明Jenkins已经正常动作了。

在浏览器里输入:http://localhost:8080/ 进入Jenkins主界面

新建个项目

选构建一个自由风格的软件项目,后面还有个MAVEN,网上倒是很多说怎么去运用Jenkins + Maven + Svn来进行自动构建的,不过我没怎么搞明白,可能是之前的工作也没有涉及Java工程,只能在Liunx下编译,里面有个pom.xml文件,一直不知道是干什么用的,但无此配置文件自动构建便无法成功,后来还是选择第一个,通过bat文件来进行执行步骤。

配置项目,Jenkins集成svn管理,在红框里填入svn代码源地址。没有看到Git,不知道如果是Git管理的代码是用什么东西去做自动构建。

触发器,就是在什么条件上进行自动构建,第二个是定时,如可以每个小时自动构建一次。但就如第五要素里说的,每一次上传代码都触发一次构建,如此可以保证代码的持续与稳定,第一时间能发现代码问题并进行修复。这里就可以使用SVN里的POST-COMMIT HOOK。

关于SVN HOOK,即SVN钩子,在执行一些动作时可以绑定另一些动作来辅助SVN管理,属于对SVN的二次开发。如图,Post-Commit Hook,就是在完成SVN上传动作后要启动这个。在这里绑定启动自动构建,即可实现上传代码后触发自动构建。还有一些Pre-Commit Hook,则可以在上传前做一些动作,如上传的Log进行规范。

找到jenkins-cli.jar文件所在位置,build后面改为工程名子Test,即可。关于为什么是这句就直接去查找下Jenkins下的命令行指令了。

构建,即使自定义对代码进行的动作。

这里可以看到,可执行bat命令,也可以执行shell,这就可这个持续构建部署在windows下还是linux下了。选上第一个,输入相关命令。

构建后操作,就是在完成构建后会执行的动作,一般来说,就是邮件通知相关人员,告知代码状况,当然,应该是可以进行分组及权限管理的,不过暂时这个我没怎么看。

设置好Jenkins,如下图

立即构建

就可以对配置好的代码进行一次自动构建。

如此,Jenkins + SVN简单的持续构建就部署好了,当每一次代码上传,Jenkins都会进行一次构建,从SVN URL上UPDATE代码,根据配置的执行指令都代码进行编译,有错将会邮件提示相关人员。在主界面上就能看到如下。

写得相对简单,有一些具体细节还是要去试下才能了解。而且真正的服务器也是在linux下部署的,但里面的东西是相通的,Jenkins也是可以直接在linux下安装。SVN的服务器里部署,也是使用SVN SERVER,但相关的HOOK也是一致的。

以上,小小总结,以便日后查阅。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容