自动化构建发布:Sonar与Jenkins安装配置指南
需积分: 9 74 浏览量
更新于2024-09-08
收藏 576KB DOCX 举报
本文档详细介绍了如何在Linux环境中安装SonarQube和Jenkins,用于代码扫描和自动化部署。SonarQube是一个开源平台,用于静态代码分析和代码质量管理,而Jenkins则是一个持续集成工具,能自动化各种构建、测试和部署任务。
一、安装SonarQube
1. 下载SonarQube安装包:访问官方网站http://www.sonarqube.org/downloads/获取最新版本。
2. 创建数据库:设置名为SONAR的用户和相应的密码。
3. 将Oracle JDBC驱动复制到指定目录:将oraclejar包拷贝到`/opt/sonar/sonarqube-5.6/extensions/jdbc-driver`下。
4. 上传文件到CentOS系统并解压。
5. 修改配置文件:进入`/opt/sonar/sonarqube-5.6/conf`,编辑`sonar.properties`,设置数据库连接信息,例如:
- `sonar.jdbc.username=SONAR`
- `sonar.jdbc.password=SONAR`
- `sonar.jdbc.url=jdbc:oracle:thin:@192.168.8.56:1521/ORCL`
- `sonar.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver`
6. 设置Web服务器参数,如主机、上下文路径和端口:
- `sonar.web.host=192.168.8.153`
- `sonar.web.context=/`
- `sonar.web.port=9000`
7. 启动SonarQube服务:在`/opt/sonar/sonarqube-5.6/bin/linux-x86-64`目录下运行`./sonar.sh start`。
8. 解决可能遇到的问题:
a) 对于scala编译失败,可能是因为无法解析hostname,可以在`/etc/hosts`添加映射解决。
b) Oracle数据库需要设置为UTF-8编码。
c) 如果报ORA-01031错误,需为用户赋予足够的权限来创建表。
二、SonarQube汉化
1. 从GitHub仓库https://github.com/SonarQubeCommunity/sonar-l10n-zh下载中文插件`sonar-l10n-zh-plugin-1.11.jar`。
2. 将下载的插件移动到SonarQube的插件目录`/opt/sonar/sonarqube-5.6/extensions/plugins`。
3. 重启SonarQube服务以应用汉化设置。
三、配置SonarQube开机启动
1. 创建自启动脚本:在`/etc/init.d`目录下创建名为`sonar`的文件,并添加以下内容:
```
#!/bin/sh
#
# rc file for SonarQube
```
2. 保存并给予执行权限:`chmod +x /etc/init.d/sonar`。
3. 添加到系统服务管理:根据系统类型(如Systemd或SysVinit),执行相应的命令,如`chkconfig --add sonar`或`update-rc.d sonar defaults`,使SonarQube在系统启动时自动启动。
四、集成Jenkins
1. 安装Jenkins:参照Jenkins官方文档进行安装。
2. 配置Jenkins插件:安装SonarQube Scanner插件,以集成SonarQube分析任务到Jenkins流水线中。
3. 创建Jenkins作业:配置构建触发器,添加构建步骤以运行SonarQube Scanner,指定SonarQube服务器地址和项目属性。
4. 自动部署:配置Jenkins作业,在代码质量检查通过后,自动部署到目标环境。
通过以上步骤,可以建立一个基于SonarQube和Jenkins的自动化代码质量管理与部署流程,提高软件开发效率和质量。
2018-10-07 上传
2014-07-21 上传
点击了解资源详情
点击了解资源详情
2022-08-03 上传
2012-03-17 上传
117 浏览量
2015-09-19 上传
wdx53
- 粉丝: 0
- 资源: 12
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能