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. 再来,对本身说:辛苦啦!!!

相关文章
相关标签/搜索