花了几天时间终于简单把Jenkins+svn构建搞定了,前面两天配置svn账密的时候页面一直提示“Unable to access the repository”,因为一直坚信我的账号密码是正确的,本地用同样的路径和账密是可以拉下来的,所以上网搜报错原因也就几种情况,我的都符合,一直找不到原因脑袋都大了,后面实在找不到原因了才想着换个其他人的账号试试吧,结果真的是我账号的原因。。。也不知道是不是因为配置前修改了账号密码的原因,导致在该项目的权限丢失了?但是本地拉取正常,这个原因还在寻求答案中,还是来记录下我的操作步骤吧。

1、安装Subversion插件    进入jenkins插件管理页面,在有效插件页面搜索Subversion Plug-in插件,下载并安装。

jenkins svn maven构建 jenkins根据svn版本号构建_svn

 2、安全设置    默认情况下,jenkins允许匿名用户做任何事情,这也就意味着谁都可以使用jenkins进行发布,这显然不够安全,jenkins支持多种安全认证机制。进入下图设置页面,这里采用jenkins内置的用户名、密码认证机制,同时允许用户注册,匿名用户有管理权(首次配置时,建议允许匿名用户有管理权限,等其它用户权限都设置好以后,再去掉匿名用户的管理权)

jenkins svn maven构建 jenkins根据svn版本号构建_自动化_02

 

 这里如果未允许匿名用户有管理权限,则配置完成后会出现无法进入jenkins页面的情况,如下图。

jenkins svn maven构建 jenkins根据svn版本号构建_svn_03

 

3、项目配置    Step1:新建一个自由风格的项目,进入配置页面,基础配置选择使用自定义工作空间,路径即拉取svn代码存放的位置。

 

jenkins svn maven构建 jenkins根据svn版本号构建_自动化_04

  Step2:找到源码管理,选择subversion。

jenkins svn maven构建 jenkins根据svn版本号构建_jenkins svn maven构建_05

Step3:可直接在源码管理这里添加svn授权证书,即svn账号密码。也可直接去jenkins配置证书配置里面添加后,源码管理处即可选择添加的账号。

jenkins svn maven构建 jenkins根据svn版本号构建_jenkins_06

 

jenkins svn maven构建 jenkins根据svn版本号构建_jenkins_07

 

Step4:构建触发器,这里选择定时构建Build periodically,每天18点准时触发;定时检查源码Poll SCM构建,若有变更,则拉取代码进行构建两种触发方式。    

Step5:构建脚本步骤,windows下选择Execute Windows batch command,编写执行代码脚本。 

jenkins svn maven构建 jenkins根据svn版本号构建_jenkins svn maven构建_08

Step6:添加构建后操作,输出allure报告及发送邮件。    

Step7:应用并保存配置即可。 

jenkins svn maven构建 jenkins根据svn版本号构建_svn_09

4.开始构建

jenkins svn maven构建 jenkins根据svn版本号构建_svn_10

 可能遇到的一些问题:

1.构建报错提示无法连接svn,原因可能是svn账密或者权限不对。

2.构建后控制台中文乱码,解决方法参考下列文章

http://t.zoukankan.com/101718qiong-p-9530350.html

3.提示org.tmatesoft.svn.core.SVNException: svn: E175002: SSL handshake failed: 'The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]',出现这个问题的原因是因为配置的jdk版本下的java.security文件中jdk.tls.disabledAlgorithms(jdk不生效的算法配置)里面有TLSv1,意思就是TSL1.0版本不让用了,解决方法就是删掉TLSv1保存即可。

jenkins svn maven构建 jenkins根据svn版本号构建_jenkins_11

 

4.建议尽量使用新版本jenkins和java11版本进行配置,避免插件不兼容。