最近公司在用Jenkins持續集成軟件,本身研究的頭痛,並且仍是和C#項目融合到一塊兒的,網上看到的都是Java的,我本身配了一套和C#的,和大家分享。java
Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins是基於Java開發的一種持續集成工具,用於監控持續重複的工做,功能包括:
一、持續的軟件版本發佈/測試項目。
二、監控外部調用執行的工做。(和sonar聯用)服務器
1、jenkins的安裝svn
到jenkins官網(http://jenkins-ci.org/)下載最新的安裝文件(個人是2.4的)工具
2.解壓後,開始安裝Jenkins,Jenkins默認端口是8080;http://localhost:8080/測試
3.首次進入jenkins如要輸入密碼,密碼位置:安裝盤裏面.../root/.jenkins/secrets/initialAdminPasswordui
4.進入選擇插件安裝界面,選擇第一個(Install suggested plugins)spa
5.插件安裝完成後,要建立第一個用戶,我用的test,選着as admin插件
6.建立完成,準備使用,點擊start using jenkins3d
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鏈接去看你代碼規範吧
好了,如今配置成功了,有疑問能夠繼續找我研究。。。。。。