windows下svn、sonar、nexus、maven、tomcat、jenkins、apidoc環境搭建

尊重勞動成果,轉載請註明轉自:http://www.javashuo.com/article/p-pyjnttat-ht.html

注意:安裝jenkins以前,請先安裝JAVA 8

1、VisualSVN Server安裝和配置

  1. www.visualsvn.com/server/download/下載VisualSVN Server版本。
  2. 傻瓜式安裝後打開visualsvn server
  3. 右擊左邊樹的VisualSVN Server>>Properties>>Network中將主機名,修改成ip地址。以下圖:
  4. 右擊左邊樹的Users>>Create User建立用戶名admin/admin。
  5. 右擊左邊樹的Repositories>>Create New Repositorie...建立SVN倉庫,並設置admin用戶擁有讀寫權限(web是一個java的web網站的項目根目錄),以下圖:
  6. SVN安裝和配置完成。

2、sonar安裝配置

  1.     在https://www.sonarqube.org/downloads/下載sonar的LTS版本(非LTS有可能安裝有錯誤)。
  2. 在數據庫中建立用戶和數據庫,執行如下代碼:javascript

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    CREATE USER 'sonar' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

     

  3. 修改數據庫下的conf的sonar.propertiescss

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    
    sonar.jdbc.url=jdbc:mysql://192.168.1.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    sonar.jdbc.driverClassName=com.mysql.jdbc.Driver

     

  4. 依次運行管理員運行bin/windows-x86-xx/下的InstallNTService.bat,StartSonar.bat。html

  5. 運行成功後,打開瀏覽器,輸入http://192.168.1.1:9000,就能夠訪問sonar,輸入admin/admin就能夠登陸sonar。java

  6. 在配置>>系統>>更新中心中安裝須要的插件。本人安裝了:C#、Chinese Pack、Git、Java、SVN、SonarJS、SonarXML、Timeline、Web,安裝後重啓sonar服務。node

  7. 在配置>>SCM>>SVN中輸入svn的用戶名和密碼(不輸入這個在執行sonar和jenkins的時候會出現SVN E170001錯誤),如圖:mysql

  8. 在Administrator>>安全>>Tokens中,隨便輸入一個名字,點擊Generate,生成token,拷貝生成好的token,預留到以後和jenkins集成的時候使用。web

  9. 若是是maven項目,修改maven項目下的sonar配置,修改conf/settings.xml文件的profiles節點,增長sonar的配置sql

    <profile>
                <id>sonar</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <!-- Optional URL to server. Default value is http://localhost:9000 -->
                    <sonar.host.url>
                      http://192.168.1.1:9000
                    </sonar.host.url>
                </properties>
            </profile>

    以後在maven項目的pom.xml下執行如下代碼就能夠將項目的質量分析交給sonar處理了。數據庫

    mvn clean install sonar:sonar

     

  10. sonar安裝和配置到此結束。apache

3、nexus安裝和配置

  1. https://www.sonatype.com/download-oss-sonatype下載2.x版本的bundle.zip(3.x本人安裝不成功)
  2. 解壓並依次用管理員運行nexus-xxx\bin\jsw\windows-x86-xx的install-nexus.bat和start-nexus.bat。
  3. 運行成功後,在瀏覽器輸入http://192.168.1.1:8081/nexus,輸入admin/admin123登陸。
  4. 登陸成功後,複製Repositories中的Public Repositories的url地址,預留後面結合maven使用。
  5. 順便說下:
    (1)在3rd party中可上傳第三方包。在Releases和Snapshots我的開發的jar包。Releases爲發佈的版本,Snapshots爲快照,只要在maven的pom文件中的版本號有-Snapshots的後綴,就會自動上傳到Snapshots中。
    (2)在pom文件中能夠配置下面代碼上傳到Releases和Snapshots。
    <!-- 配置repleash和snapshots -->
    <distributionManagement>
    	<repository>
    		<id> nexus-releases</id>
    		<name> Nexus Release Repository</name>
    		<url> http://192.168.1.1:8081/nexus/content/repositories/releases/</url>
    	</repository>
    	<!-- 如版本號中包含-SNAPSHOT則會傳到快照中 -->
    	<snapshotRepository>
    		<id> nexus-snapshots</id>
    		<name> Nexus Snapshot Repository</name>
    		<url> http://192.168.1.1:8081/nexus/content/repositories/snapshots/</url>
    	</snapshotRepository>
    </distributionManagement>
    (3)命令行運行到我的開發庫的pom目錄,執行下面命令行就能夠發佈到Releases和Snapshots(後面命令爲跳過測試)。
    mvn deploy -Dmaven.test.skip=true

    (4)固然,這還須要在maven的settings.xml配置文件中,配置nexus的服務器、用戶名和密碼信息。這個稍後再講。

  6. nexus安裝和配置完成。

4、maven安裝和配置

  1. maven.apache.org/download.cgi下載maven。
  2. 解壓後並將maven的根目錄添加到系統環境變量中。
  3. 修改conf/settings.xml,修改節點localRepository設置maven下載的jar包存放路徑
    <localRepository>E:/maven-repo</localRepository>
    修改servers節點,添加上傳到nexus的Releases和Snapshots的用戶名和密碼,修改了這個後上一節後面說的就能夠上傳到nexus了。
    <servers>
         <server>    
    	    <id> nexus-releases</id>    
    	    <username> admin</username>    
    	    <password> admin123</password>    
    	  </server>    
    	  <server>    
    	    <id> nexus-snapshots</id>    
    	    <username> admin</username>    
    	    <password> admin123</password>    
    	  </server>
      </servers>
    修改mirrors節點,設置nexus公共庫的地址
    <mirrors>
        <mirror>
          <id> nexus-public</id>    
          <name> Nexus Mirror</name>    
          <url> http://192.168.1.1:8081/nexus/content/groups/public/</url>    
          <mirrorOf> central</mirrorOf>
        </mirror>
      </mirrors>
    設置完成後,就能夠從nexus私服下載pom和jar了。
  4. maven安裝完成。

4、tomcat安裝和配置

  1. tomcat.apache.org下載tomcat 7(在寫本文的時候jinkins尚未tomcat8)
  2. 解壓後conf/server.xml的端口號爲9900。修改conf/tomcat-users增長如下節點。
    <role rolename="manager-gui"/>
    	<role rolename="manager-script"/>
    	<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
    運行tomcat的服務,打開瀏覽器輸入192.168.1.1:9900/manager看是否能訪問。能訪問而且輸入tomcat/tomcat能登陸說明配置成功。(manager項目是用來jenkins自動發佈項目用的)
  3. 加入到系統服務中,若是命令行沒有service.bat文件就自行想辦法吧(tomcat8貌似沒有這個文件)。命令行打開到bin目錄下,執行service.bat install將tomcat安裝到系統服務中,再到系統服務中將其設置爲自動啓動。
  4. tomcat安裝和配置完成。

5、jenkins安裝和配置

  1. https://jenkins.io下載jenkins。
  2. 複製上一節下載的tomcat並解壓到另外一個目錄,修改端口號爲9100(8005和8009端口號也修改下,不要和9900設置的tomcat端口號衝突)。
  3. 將jenkins複製到webapps目錄下。
  4. 運行tomcat的服務(安裝到系統服務可上上一節,可是要注意修改tomcat7.exe和tomcat7w.exe的名字不要和上一節的tomcat衝突,好比修改成:tomcat-jenkins.exe和tomcat-jenkinsw.exe,同時修改service.bat文件中的全部tomcat7爲tomcat-jenkins)。
  5. 瀏覽器輸入192.168.1.1:9100/jenkins。
  6. 初始登陸須要到提示目錄中複製初始密碼。登陸並安裝一些插件後就能夠進入主界面了。(本人安裝後不知道爲何後來修改密碼後登陸不了,如知曉答案的請您給我留言,謝謝。),若是以後忘記密碼,可註釋.jenkins目錄下的config文件的下列內容,就能夠免沒密碼登陸(本人安裝後在C:\Windows\System32\config\systemprofile\.jenkins下面)
    <useSecurity>true</useSecurity>
      <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
        <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
      </authorizationStrategy>
      <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
        <disableSignup>true</disableSignup>
        <enableCaptcha>false</enableCaptcha>
      </securityRealm>
      <disableRememberMe>false</disableRememberMe>

     

  7. 在系統管理>>管理插件>>可選插件中安裝插件如下插件並重啓jenkins:
    Subversion Plug-in:svn插件
    Deploy to container Plugin :tomcat自動部署插件,要結合tomcat的manager項目。
    NodeJS Plugin : nodejs插件,可處理Nodejs相關。
    SonarQube Scanner for Jenkins : sonar插件
    
    其餘的本身選...
  8. 在Credentials>>global>>Add Credentials添加SVN的用戶名和密碼。
  9. 配置sonar:在系統管理>>系統配置中,找到SonarQube servers節點。增長一個SonarQube,輸入用戶名、url地址、sonar的token(就是前面在sonar建立的token)後保存,以下圖:
  10. 配置jenkins全局工具。在系統管理>>Global Tool Configuration中。
    (1)、新增JDK,如圖:
    (2)、新增SonarQube Scanner,如圖:
    (3)、新增Maven,以下圖:
    (4)、新增Nodejs(NodeJS建議使用自動安裝,不要使用本身安裝的NodeJs,同時在Global npm packages to install中自動安裝到apidoc到全局中,使用本身安裝的NodeJs容易出現安裝後找不到全局安裝的模塊的命令),以下圖:
  11. 環境基本就配置到這裏,接下來我再說明怎麼在jenkins中新建任務。

1、新建jenkins的任務

  1. 在jenkins面板中,點擊新建。
  2. 在新建面板中,輸入任務名和和選擇構建一個自由風格的軟件項目,點擊OK。如圖:
  3. 在General標籤中,點擊高級,勾上使用自定義的工做空間,輸入目錄名,如圖:
  4. 在源代碼管理設置SVN的項目路徑(即第一章節中的截圖),和在jenkins設置過的Credentials。以下圖:
  5. 在構建觸發器設置要執行的任務時間,其中Build periodically爲設置多少週期內強制構建,Poll SCM設置的是多少週期內按期構建一次,本人設置的是天天晚上12點構建一次,每3天晚上1點強制構建一次,以下圖:
  6. 在構建環境中,選擇以前在jenkins的Global Tool Configuration中設置的Nodejs的環境。用於以後構建apidoc生成文檔。以下圖:
  7. 在構建中增長maven的構建,選擇Invoke top-level Maven targets。並選擇在jenkins的Global Tool Configuration中設置的maven環境,同時添加maven構建命令和pom。以下面兩圖:

  8. 在構建中增長sonar構建,選擇Execute SonarQube Scanner,並選擇在jenkins的Global Tool Configuration中設置的JDK環境。同時,還要設置sonar的項目配置(或在Path to project properties輸入sonar-project.properties的目錄位置,能夠把Analysis properties中輸入的內容拷貝到項目根目錄下的sonar.properties文件中,當執行命令行時,根目錄就是上面設置過的自定義空間的目錄名),以下兩圖:


    另外,Analysis properties代碼以下(本人只試驗成功java-module,因此其餘的都註釋了,之後有機會再繼續研究):
    #required metadata
    #projectKey項目的惟一標識,不能重複。
    sonar.projectKey=web
    #projectName值不能是中文,不然web頁面部分是亂碼
    sonar.projectName=web
    sonar.projectVersion=0.0.1-SNAPSHOT
    sonar.sourceEncoding=UTF-8
    #sonar.modules=java-module,javascript-module,html-module,CSS-module
    sonar.modules=java-module
    # Java module
    java-module.sonar.projectName=xmist.traffic.web
    java-module.sonar.language=java
    # .表示projectBaseDir指定的目錄
    java-module.sonar.sources=src
    java-module.sonar.projectBaseDir=.
    sonar.binaries=target\classes
    # JavaScript module
    #javascript-module.sonar.projectName=web_js
    #javascript-module.sonar.language=js
    #javascript-module.sonar.sources=webapp
    #javascript-module.sonar.projectBaseDir=.
    # Html module
    #html-module.sonar.projectName=web_html
    #html-module.sonar.language=web
    #html-module.sonar.sources=webapp
    #html-module.sonar.projectBaseDir=.
    # CSS module
    #CSS-module.sonar.projectName=web_css
    #CSS-module.sonar.language=css
    #CSS-module.sonar.sources=webapp
    #CSS-module.sonar.projectBaseDir=.
  9. 在構建中增長windows批處理,以下圖:

    輸入如下命令執行apidoc生成接口文檔。
    apidoc -i ./src/main/ -o E:/tomcat-9900/webapps/api [-c ./] -f ".*\.java$" 
    exit 0

    上面命令中意思是在src/main目錄中找到全部的java文件並將生成的代碼輸出到E:/tomcat-9900/webapps/api目錄下(9900就是以前設置的tomcat服務器)。
    固然,執行上面的命令是不會經過的,由於在項目根目錄下沒有apidoc.json文件。在項目的根目錄下建立json文件,內容以下(url地址是生成的接口文檔的接口的訪問地址,好比生成出來會是:http://192.168.1.1:9900/admin/list):
    apidoc的介紹也能夠訪問另外一篇博客:http://www.javashuo.com/article/p-sixgsrhd-br.html

    {
      "name": "web",
      "version": "0.0.1-SNAPSHOT",
      "description": "web API",
      "title": "web API",
      "url" : "http://192.168.1.1:9900",
      "sampleUrl": "http://192.168.1.1:9900",
      "forceLanguage":"zh-cn",
      "template": {
       "withCompare": true,
       "withGenerator": true
      }
    }

     

  10. 最後,最重要的tomcat服務器部署。

  11. 在構建後操做中,新增Deploy war/ear to a container,並設置tomcat的構建信息。以下兩圖:


    設置war/ear的目錄,即maven編譯後的target目錄。
    設置Context path,本人設置到編譯後自動部署到tomcat ROOT下。也能夠設置到其餘目錄下。
    設置Containers,添加tomcat 7.x,並設置以前設置的tomcat下的manager目錄的用戶名和密碼,還有tomcat的訪問地址。

  12. 最後,寫了好長。。。。就到此爲止了。。。終於寫寫完了。

  13. 再最後,保存後點擊當即構建,就能夠自動從svn中檢出代碼,並執行maven構建、sonar代碼分析、apidoc的接口文檔生成了。而後,也能夠自動的部署到tomcat目錄下啦。

  14. 再來,對本身說:辛苦啦!!!

相關文章
相關標籤/搜索