最近做了个接口测试相关的项目,由于接口比较稳定且比较简单,后期只做一些回归,基本不再做改动。所以就想到了用jenkins来定时跑任务,源码放在svn上。下面就是具体的实现,写的很简单,入门级的,看见的大神勿拍砖
一、svn
1、下载和安装
首先在Subversion的官方网站http://sourceforge.net/projects/win32svn/files/
去下载windows安装包,下载后安装在本地机器上,这里注意的是最好将安装目录指定为纯英文名目录
下载TortoiseSVN进行本地安装,http://sourceforge.net/projects/tortoisesvn/files/
2:创建储存库
创建SVN储存库(repository),可以选择命令行方式或者通过TortoiseSVN插件进行GUI操作,命令行运行如下:
svnadmin create D:svn oot
D:svn
oot我指定的储存库目录,如果用GUI方式,可以在这个目录下点击右键选择[TotoiseSVN]->[Create Repository
href...]进行创建,版本库模式指定为默认的即可。
repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部 数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
3:配置
打开/conf/目录,打开svnserve.conf找到一下两句:
# [general]
# password-db = passwd
去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件
同样打开passwd文件,将
# [users]
# harry = harryssecret
# sally = sallyssecret
这几行的开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户
4:运行SVN服务
在命令行(开始-运行-cmd)执行
sc create SVN binpath= ""D:Program FilesSubversioninsvnserve.exe" --service -r d:svn oot" displayname= "SVNService" depend= Tcpip start= auto
此命令会将SVN变成windows系统的一个服务,并默认为自启动,只需要手动去启动第一次后就好了
5:创建项目版本树
确定SVN服务(命令行或windows服务)运行后,在你需要导入储存库的目录下单击右键选择[TortoiseSVN]-> [Import...],在弹开的窗口的URL框中输入 "file:///D:/svn/root/trunk" 点击 "OK" 执行导入,如果没有报错,数 据就全部加入SVN储存库目录树上了。
一般情况,我们在创建文件根路径后应该在创建三个目录:branches、tags、trunk,这三个目录是Subversion需要的三个目录。对于check out、commit、update等操作可以通过svn命令行方式执行,也可以用TortoiseSVN的windows菜单完成,非常简单
二、jenkins
1 :下载windows版本的jenkins
安装后http:// http://localhost:8080/
2 :新建项目
新建一个自由风格的项目:
源码选择SVN
触发器和构建设置:
邮件服务器配置
使用插件 “Email Extersion Plugin”进行扩展
它可根据构建的结果,发送构建报告,给当前的committer (用git做代码管理)
1) 该插件支持jenkins 1.5以上的版本,至少我的 1.486是不支持的啦。所以果断升级吧。。
插件的安装此处略 ,若您可选插件的页卡的列表是空的,先去高级页面检查更新下。
2)插件用于job配置页面,添加构建后步骤“Editable Email Notification”
上面的配置 给出了 该工程的默认接收列表,当然抄送的话 直接 可以这么写 cc:xxxx@163.com
对于内容,你也许注意到了 这里调用了个 ‘html.jelly’ 的模板,这是插件内置的,直接用即可。(支持git每次变更的记录,mvn 及junit 等编译的结果报告)
当然也可以自己写 jelly文件, 确保放置 jenkins/home/email-template下 以供jenkins调用。
3)至此你也许会问 这不还是用的固定的接收列表嘛 (⊙_⊙) ,别着急 看到右下角的高级选项没, 继续配置,