您的位置:首页 > 运维架构 > Tomcat

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

2015-08-07 18:08 721 查看

持续集成环境: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的路径和名称



点击“M***EN安装”,配置M***EN别名和路径



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



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
setJ***A_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更新代码,然后进行编译,打包,发布并进行自动化测试,测试结果还能通过邮件进行通知,确实很方便。

本次过程记录的比较匆忙,后面有时间再出一篇过程详解。有问题请留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: