码迷,mamicode.com
首页 > 系统相关 > 详细

MyEclipse+Nexus+Jenkins+Sonar+Tomcat+SVN持续集成环境实战篇

时间:2015-08-07 19:51:04      阅读:537      评论:0      收藏:0      [点我收藏+]

标签:持续集成环境配置   jenkins   nexus   sonar   maven   

持续集成环境:maven+nexus+jenkins+sonar


很久没有弄过技术了,最近也是因为公司需求,几天内需要弄出一套持续集成环境,没办法,翻阅了各种资料,各种网上搜索配置,最后还是成功弄好了,感觉不容易啊,给大家分享下我配置的关键过程吧。过于简单的东西我就直接略过了。说的不对的地方还请各路大神不吝指教。

 

安装包准备:

1.    maven

2.    jdk7+tomcat7

3.    nexus

4.    Jenkins

5.    Sonar

 

一、安装Nexus

windows下安装nexus的方法说明:


1.在F:\nexus\nexus-2.3.1-01-bundle\nexus-2.3.1-01\bin\jsw\conf中配置java路径


nexus-2.10.0-02/bin/jsw/conf/wrapper.conf

# Set the JVM executable

# (modify this to absolute path if you needa Java that is not on the OS path)

wrapper.java.command=C:\ProgramFiles\Java\jdk1.7.0_67\jre\bin\java.exe


2. 选择nexus-2.3.1-01-bundle\nexus-2.3.1-01\bin\jsw\windows-x86-64里面的install-nexus.bat 以管理员身份运行。

 

Nexus默认端口是8081,在浏览器中打开说明安装成功:http://localhost:8081/nexus

 

二、安装maven

将下载的maven解压放置在开发机上(windows),并配置conf目录下的setting.xml文件:


<?xmlversion="1.0" encoding="UTF-8"?>

<settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd">

<!--配置maven本地仓库路径 -->

 <localRepository>E:\MaveWork\java\repository</localRepository>

  <servers>

       <!--配置nexus的仓库用户名密码 -->

       <server>

              <id>releases</id>

              <username>admin</username>

              <password>admin123</password>

       </server>

       <server>

              <id>snapshots</id>

              <username>admin</username>

              <password>admin123</password>

       </server>

       <!-- 配置tomcat的用户名和密码 -->

       <server>   

                <id>tomcatRole</id>   

                <username>admin</username>   

                <password>admin</password>   

       </server> 

  </servers>

  <mirrors>

       <!-- 配置nexus仓库镜像-->

        <mirror> 

        <id>nexus</id> 

        <name>internal nexusrepository</name> 

       <url>http://localhost:8081/nexus/content/groups/public/</url> 

       <mirrorOf>central</mirrorOf> 

</mirror>

  </mirrors>

  <profiles>

       <profile>

              <id>dev</id>

              <!-- 配置nexus仓库-->

              <repositories>

                     <repository>

                     <id>local-nexus</id>

                     <url>http://localhost:8081/nexus/content/groups/public/</url>

                     <releases>

                            <enabled>true</enabled>

                     </releases>

                     <snapshots>

                            <enabled>true</enabled>

                     </snapshots>

                     </repository>

              </repositories>

       </profile>

  </profiles>

  <activeProfiles><activeProfile>dev</activeProfile> </activeProfiles>

</settings>

 

 

三、配置myEclipse 的 maven 插件

 

MyEclipse8.5以上自带maven插件,只需要配置即可

 

Windows – perferences– myEclipse - mave4MyEclipse – installactions 添加maven的实际路径

 

然后选择 user settings 选择settings.xml文件路径。

 技术分享

四、配置maven环境变量,并设置JDK参数

创建一个环境变量:M2_HOME=D:\Apps\apache-maven-3.3.1

 

在Eclipse中配置JDK的参数:

 

Windows – perferences – Java –Installed JRES –JDK 编辑,在参数中输入:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

 

五、开始创建一个Maven Web 项目

1.右键 –new –其他 –输入 maven,选择maven project

 

2.下一步,在filter中输入 webapp,选择org.apache.maven.archetypes

 

3.在GROUPID中输入包名称,在Artifact 中输入项目名称,点击确定。

 

此时还不是一个maven web项目,按照下面的说明进行转换即可。


说明地址:http://www.cnblogs.com/leiOOlei/p/3361633.html

 

六、安装jenkins

将jenkins.war 复制到tomcat下,启动后访问

http://localhost:8080/jenkins

或在jenkins.war的目录下进入命令行,输入:

java -jar jenkins.war

jenkins内置一个jetty容器,默认使用8080端口,如果你的8080被占用了,请执行:

 

java -jar jenkins.war --httpPort=8081

 

安装后直接访问localhost:8080 既可

 技术分享


 

七、配置jenkins

1.系统设置

进入“系统管理”——>“系统设置”:

 

点击“JDK安装”,配置JDK的路径和名称

 

点击“MAVEN安装”,配置MAVEN别名和路径

 

此处也能配置邮件服务器,先略过。

 

2.插件设置

进入“系统管理”——>“管理插件”——>“高级”上传插件

上传 deploy.hpi 进行安装。此插件是用来部署项目用的,可以百度下载一个。


八、在Jenkins上新建Maven项目

1.点击“新建”-“构建一个maven项目”,输入项目的名称点击OK

2.在“源码管理”中选择Subversion,在“Repository URL”选项中填入你maven项目所有的SVN地址

3.“构建触发器”

选项用来配置什么时候会进行构建项目。下面是选项的解释:

Buildwhenever a SNAPSHOT dependency is built    当此项目所依赖的项目在jenkins中被构建

Buildafter other projects are built   在某个项目被构建后,构建此项目

Buildperiodically  按照指定的时间间隔进行自动构建,不管代码有没有变更。 

PollSCM   定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。

  技术分享

实例:

 技术分享

 

 

4.在PreSteps 中选择 Invoke top-level Maven targets ,在列表中选择配置好的Maven名称。Goals 中输入打包动作:package

 

6.     Build 中默认就用pom.xml就行,Goals andoptions 中输入 clean deploy

 

7.     在构建后操作中选择 Deploy war/ear to container, WAR/EAR files 中输入 target/XX.war

 

Context path 中可以指定一个项目名称,访问时可用。Containers 中配置tomcat7.X的用户名密码和路径,注意,tomcat必须要修改用户名和密码的tomcat-user.xml,内容如下:

<rolerolename="manager"/>   

<rolerolename="manager-gui"/>   

<rolerolename="admin"/>   

<rolerolename="admin-gui"/>   

<user username="admin"password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script"/>

 

保存即可。


tomcat绿色版做成服务运行,需要配置JDK路径

在setclasspath.bat 中加入

rem Make sureprerequisite environment variables are set

setJAVA_HOME=E:\MySoftWork\jdk1.7

setJRE_HOME=E:\MySoftWork\jdk1.7\jre

 

九,构建Jenkins项目,配置pom.xml

由于需要通过jenkins将maven项目自动部署到tomcat中去,此处,项目的pom.xml里面需要配置下tomcat的插件.

pom.xml实例:

<build>

   <finalName>myMaven</finalName>

  <plugins>

            <!-- 第一种方式: apache官方tomcat插件,支持deploy -->

            <plugin>

                <groupId>org.apache.tomcat.maven</groupId>

                <artifactId>tomcat7-maven-plugin</artifactId>

                <version>2.0-SNAPSHOT</version>

                <configuration>

                   <url>http://localhost:8089/manager/text</url>

                   <server>tomcatRole</server>

                </configuration>

            </plugin>

            <!-- 第二种方式: 第三方tomcat插件,支持redeploy

            <plugin>

                <groupId>org.codehaus.mojo</groupId>

                <artifactId>tomcat-maven-plugin</artifactId>

                <version>1.1</version>

                <configuration>

                   <url>http://localhost:8080/manager/text</url>

                   <server>admin</server>

                   <ignorePackaging>true</ignorePackaging>

                </configuration>

            </plugin>-->

        </plugins>

   </build>

    <repositories>

        <repository>

            <id>people.apache.snapshots</id>

            <url>

                http://repository.apache.org/content/groups/snapshots-group/

            </url>

            <releases>

                <enabled>false</enabled>

            </releases>

            <snapshots>

                <enabled>true</enabled>

            </snapshots>

        </repository>

    </repositories>

    <pluginRepositories>

        <pluginRepository>

            <id>apache.snapshots</id>

            <name>Apache Snapshots</name>

            <url>http://repository.apache.org/content/groups/snapshots-group/</url>

            <releases>

                <enabled>false</enabled>

            </releases>

            <snapshots>

                <enabled>true</enabled>

            </snapshots>

        </pluginRepository>

</pluginRepositories>

到这里,jenkins上部署的项目就完了,可以自动从SVN上进行更新,构建,打包并发布到tomcat中,我们在浏览器中输入项目地址就能访问了。

十、安装sonar

 

1.创建sonar用户和数据库表

 

CREATE USER ‘sonar‘@‘localhost‘ IDENTIFIEDBY ‘123456‘;

GRANT SELECT, INSERT ON *.* TO ‘sonar‘@‘localhost‘;

 

CREATE DATABASE sonar CHARACTER SET utf8COLLATE 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‘;

FLUSH PRIVILEGES;

 

打开你下载的sonar安装包找到conf文件夹下的sonar.properties文件,放开mysql的注释,如图

技术分享


保存关闭,打开bin/windows-x86-64(这个根据你的系统环境自行处理),点击StartSonar

sonar就启动起来了,默认的端口是9000,你也可以到conf/sonar.properties配置文件中修改


2.汉化sonar

汉化包百度下载即可

把下载的压缩包放到sanar安装目录下的/extensions/plugins 中 重启Sonar server 

 

十一、Jenkins 配置 sonar 插件

1.“插件管理”-“高级”-上传sonar插件

 

2.“系统管理”-“系统设置”,安装sonar,配置sonar名称和路径,然后点击“ADD SONAR”,配置如下:

技术分享

 

3.在项目配置中添加sonar

 

在构建后操作中选择sonar,如图:

技术分享

保存即可,这样,只要有单元测试方法,发布后的测试结果和代码审查结果会自动在sonar平台展现。


看看我的例子吧,最后能够在sonar上看到代码的分析结果:

技术分享

 

这样,我们以后的开发环境中的所有构建可以通过nexus统一版本管理,还能方便的通过nexus进行模块调用。

Jenkins 会自动按一定规则去SVN更新代码,然后进行编译,打包,发布并进行自动化测试,测试结果还能通过邮件进行通知,确实很方便。


本次过程记录的比较匆忙,后面有时间再出一篇过程详解。有问题请留言。

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

MyEclipse+Nexus+Jenkins+Sonar+Tomcat+SVN持续集成环境实战篇

标签:持续集成环境配置   jenkins   nexus   sonar   maven   

原文地址:http://blog.csdn.net/kingboy123000/article/details/47342871

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!