🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 集成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. 完成