> 集成jenkins
1. 安装jenkins
```
yum install jenkins
```
2. jenkins安装插件sonar Scanner
系统管理->插件管理->可选插件->搜索SonarQube Scanner for Jenkins->安装->重启jenkins
3. jenkins安装CodeSonar Plugin
系统管理->插件管理->可选插件->搜索CodeSonar Plugin->安装->重启jenkins
4. 安装svn
系统管理->插件管理->可选插件->搜索Subversion->安装->重启jenkins
5. 安装ssh
系统管理->插件管理->可选插件->搜索SSH Credentials和SSH Slaves->安装->重启jenkins
6. 安装ant
系统管理->插件管理->可选插件->搜索ant->安装->重启jenkins
![](https://img.kancloud.cn/b3/29/b329c9089ad5220414c9a04b948f73b1_1498x984.png)
![](https://img.kancloud.cn/da/07/da07a103d3ce07e41f8d80bd5967d6bb_1562x982.png)
![](https://img.kancloud.cn/f9/ca/f9ca5b3727187ffe166ed110ced6e6d1_1558x990.png)
![](https://img.kancloud.cn/89/63/8963ee2ca7ae1945f438ee31254e9b9f_1599x866.png)
7. 配置全局工具配置
系统管理->全局工具配置
* [ ] 配置maven
![](https://img.kancloud.cn/0a/47/0a476574898624baa76aa9d23db1ade1_1565x165.png)
* [ ] 配置jdk(我手动安装了jdk在linux,所以直接配置路径)
![](https://img.kancloud.cn/4f/fb/4ffbe6886be81f618193ed6cfb008f1e_1570x307.png)
JAVA\_HOME = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
* [ ] 配置git(自动配置)
![](https://img.kancloud.cn/c4/a9/c4a9ea53530cd69465e17217fa6bb840_1577x299.png)
* [ ] 配置gradle(自动配置)
![](https://img.kancloud.cn/73/5b/735b3bed41413cd586a06655013a2a9a_1577x457.png)
* [ ] 配置SonarQube Scanner(自动配置,我选择3.0.1和sonarquube6.6)
![](https://img.kancloud.cn/35/a4/35a42844c4958a8b93ee065afd392eb0_1575x460.png)
* [ ] 配置ant(我手动安装ant在linux,所以直接配置路径)
![](https://img.kancloud.cn/10/43/1043409f8a2729c3828801871860f2fa_1556x333.png)
ANT_HOME = /usr/share/ant
* [ ] 配置maven,如果项目是maven自动配置,可以手动和自动
8. 配置初始配置(这个主目录是/var/lib/jenkins,说明所以执行都在主目录基础上执行)
![](https://img.kancloud.cn/24/25/2425a80e24a77812201cb73d14d0ad43_1162x59.png)
* [ ] 配置sonarQube server
![](https://img.kancloud.cn/0f/41/0f410d9183bcd733a7880daf62a1ae02_1568x391.png)
Server URL = http://localhost:9000 (默认的端口就是9000,不懂就查看上一篇安装SonarQube)
* [ ] Server authentication token配置(上一步截图的添加,点击下,弹出如下窗口)
![](https://img.kancloud.cn/13/db/13db57a9a563b8d20040f24a84cc66a0_1407x528.png)
* [ ] 获取secret(从sonarQube,访问localhost:9000,登录账号(admin,admin))
![](https://img.kancloud.cn/23/5a/235ac72d393c257cd6a95a4e219142e0_1536x951.png)
* [ ] jenkins配置
![](https://img.kancloud.cn/22/26/2226a115c52f8868a1b777791b545bce_1594x180.png)
9. 新建项目
![](https://img.kancloud.cn/6f/19/6f1974cfec04c02c0aadfcd246151846_1307x827.png)
10. 配置项目
* [ ] 配置构建丢弃最大条数
![](https://img.kancloud.cn/34/dc/34dc0286595f1c52ebfc6093425ac635_1606x690.png)
* [ ] 配置svn
![](https://img.kancloud.cn/03/36/0336d359b014dec3c48ff33e6563c98a_1161x743.png)
![](https://img.kancloud.cn/43/e4/43e4c3c5d5fb7fa3a36255b688964023_1229x589.png)
* [ ] 我自己的svn配置(Use 'svn update' as much as possible, with 'svn revert' before update)
![](https://img.kancloud.cn/d2/6c/d26cd4fd33c8ea880bc3889331e848bb_1517x887.png)
* [ ] 构建环境(ant)
![](https://img.kancloud.cn/b9/4f/b94fff96664821c19c0905051fb90800_1600x381.png)
* [ ] 构建步骤
![](https://img.kancloud.cn/31/3f/313fc4bfa672ce16f9353e255789fea3_1527x983.png)
我的build的file在 common/build.xml
我的ssh命令是yes 2>/dev/null | sh /usr/local/games/HallAndSubGame/Server_game/gameServer/copy.sh
yes 2>/dev/null 是凡是询问你是否复制替换等,都默认yes,
sh /usr/local/games/HallAndSubGame/Server_game/gameServer/copy.sh是我的shell文件,执行
我的sonarqube项目配置(binaries是和sources都选择当前路径,自己去扫描目录下,并检测bug):
```
sonar.projectKey=gameServer
sonar.projectName=gameServer
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=.
sonar.language=java
sonar.java.binaries=.
```
11. 完成