标签:持续集成环境配置 jenkins nexus sonar maven
安装包准备:
1. maven
2. jdk7+tomcat7
3. nexus
4. Jenkins
5. Sonar
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解压放置在开发机上(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>
MyEclipse8.5以上自带maven插件,只需要配置即可
Windows – perferences– myEclipse - mave4MyEclipse – installactions 添加maven的实际路径
然后选择 user settings 选择settings.xml文件路径。
创建一个环境变量:M2_HOME=D:\Apps\apache-maven-3.3.1
在Eclipse中配置JDK的参数:
Windows – perferences – Java –Installed JRES –JDK 编辑,在参数中输入:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
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.war 复制到tomcat下,启动后访问
或在jenkins.war的目录下进入命令行,输入:
java -jar jenkins.war
jenkins内置一个jetty容器,默认使用8080端口,如果你的8080被占用了,请执行:
java -jar jenkins.war --httpPort=8081
安装后直接访问localhost:8080 既可
1.系统设置
进入“系统管理”——>“系统设置”:
点击“JDK安装”,配置JDK的路径和名称
点击“MAVEN安装”,配置MAVEN别名和路径
此处也能配置邮件服务器,先略过。
2.插件设置
进入“系统管理”——>“管理插件”——>“高级”上传插件
上传 deploy.hpi 进行安装。此插件是用来部署项目用的,可以百度下载一个。
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将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中,我们在浏览器中输入项目地址就能访问了。
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
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