最近公司在用Jenkins持续集成软件,自己研究的头痛,而且还是和C#项目融合到一起的,网上看到的都是Java的,我自己配了一套和C#的,和你们分享。
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。(和sonar联用)
一、jenkins的安装
到jenkins官网(http://jenkins-ci.org/)下载最新的安装文件(我的是2.4的)
2.解压后,开始安装Jenkins,Jenkins默认端口是8080;http://localhost:8080/
3.首次进入jenkins如要输入密码,密码位置:安装盘里面.../root/.jenkins/secrets/initialAdminPassword
4.进入选择插件安装界面,选择第一个(Install suggested plugins)
5.插件安装完成后,要创建第一个用户,我用的test,选着as admin
6.创建完成,准备使用,点击start using jenkins
6.1为了避免端口号冲突,可以修改端口号,在jenkins安装文件中找到jenkins.xml这个文件,修改端口号,我设置的是6060
7.配置sonar和jdk
8.配置jdk
9.配置sonar之前要去下载插件,安装着两个插件,
10.安装好了以后,再去,选着如图选着,上篇文章讲了,本人安装的sonar sunner2.5的版本,这里选着2.5的,然后保存
11.进入系统设置,选着SonarQube servers,操作后,保存
12.新建一个自由风格的项目,在项目设置里面,svn资源路径,添加用户
13.在项目里设置构建操作,设置好后保存
14.重新登录,如果不小心忘了管理账户和密码
找到配置文件,路径在.../jenkins/config.xml
删除以下文件
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Item.Build:tangyi</permission>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
重启服务Jenkins,在计算机管理》服务》Jenkins,重新启动
15.点立即构建,看控制台输出
如果构建是红色的圆点,在控制台输出里面查看
我这里出现两个错误
1.这个执行文件错误,看自己的错误日志解决
INFO: 1 files to be analyzed INFO: 0/1 files analyzed INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 7.006s INFO: Final Memory: 51M/233M INFO: ------------------------------------------------------------------------ ERROR: Error during SonarQube Scanner execution java.lang.IllegalStateException: Error when executing blame for file Slwy.PagingService.Host/Program.cs at org.sonar.plugins.scm.svn.SvnBlameCommand.blame(SvnBlameCommand.java:86) at org.sonar.plugins.scm.svn.SvnBlameCommand.blame(SvnBlameCommand.java:59) at org.sonar.scanner.scm.ScmPublisher.publish(ScmPublisher.java:82) at org.sonar.scanner.phases.PublishPhaseExecutor.afterSensors(PublishPhaseExecutor.java:59) at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:80) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:175)
2. 不能连接SVN服务器,这是我们没有安装SVN Publisher plugin插件,安装好后,重启Jenkins,再次构建就是蓝色圆点了,也就输出成功了
Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for ‘<https://172.25.5.345:85> VisualSVN Server‘ at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:47) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:41) at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:203) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:716) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:398)
输出成功页面
成功后,点击sonarqube连接去看你代码规范吧
好了,现在配置成功了,有疑问可以继续找我研究。。。。。。