共计 5137 个字符,预计需要花费 13 分钟才能阅读完成。
自动化测试是敏捷开发模型下的一大助力, 有了它, 测试及开发团队能及时的掌控软件质量和迭代周期, 能更好的为软件产品服务, 促进软件质量的提升和提高开发的效率.
好处很多, 我就不一一说明了.
最近, 公司将要开发新产品 (分校系统), 为了避免敏捷开发下无序, 沟通不畅, 质量不高等等缺点, 决定上自动化测试平台, 解放测试团队, 让其专注于更多的业务理解工作, 也从另一个方面规范所有程序员的开发.
好了, 废话不多说, 上硬货.
准备阶段
首先需要下载 SonarQube 和 Jenkins. 另外, 还要先安装好 MySQL 数据库和 JDK. 其中,JDK 版本至少在 1.7 以上.
- SonarQube 官方下载地址:http://www.sonarqube.org/downloads/
- Jenkins 官方下载地址:http://pkg.jenkins-ci.org/redhat/
一. 安装 SonarQube:
- 将下载好的 sonar 压缩包上传到服务器, 目录自己定. 我这里使用的是~/Download 目录
- 解压, 命令是:
unzip sonarqube-5.1.1.zip
解压好了之后, 在 /usr 文件夹下创建 sonar 目录, 并将解压出来的文件夹复制到其中, 然后更改权限.
sudo mkdir /usr/sonar sudo cp sonarqube-5.1.1 /usr/sonar/ sudo chown -R admin /usr/sonar/
- 完成之后, 需要对 SonarQube 的配置文件进行更改. 位置是: /usr/sonar/sonarqube-5.1.1/conf/sonar.properties
使用命令:vi /usr/sonar/sonarqube-5.1.1/conf/sonar.properties
找到这几行, 把注释去掉. 这里我们使用 mysql, 当然, 你也可以使用其他的数据库, 去掉相应的注释就可以了.
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance# 使用 0.0.0.0 是保证任何地址都可以使用
sonar.web.host=0.0.0.0# 更改默认的 9000 端口为 9005, 以避免和 NodeJS 的端口冲突.
sonar.web.port=9005更改完成后, 保存退出.
- 在服务器的 mysql 数据库中创建 sonar 库和 sonar 用户, 并授权.
mysql -u root –p
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
‘sonar‘ IDENTIFIED BY ‘sonar‘;
CREATE USER
GRANT ALL ON sonar.* TO ‘sonar‘@‘%‘ IDENTIFIED BY ‘sonar‘;GRANT ALL ON sonar.
* TO ‘sonar‘@‘localhost‘ IDENTIFIED BY ‘sonar‘;
FLUSH PRIVILEGES;若还未安装 mysql 数据库, 请自行百度如何在 RedHat/Fedora/CentOS 上安装 mysql 数据库并设置为开机启动.
- 测试 sonar 是否安装成功.
/usr/sonar/sonarqube-5.1.1/bin/linux-x86-64/sonar.sh start
看到提示:
Starting SonarQube…
Started SonarQube.则说明安装成功了. 这个时候, 就可以在终端里输入 http://< 服务器 IP>:9005 来查看 web 页面的图形界面了.
- 最后, 我们需要让 SonarQube 开机启动. 输入以下命令和内容即可.
sudo ln -s /usr/sonar/sonarqube-5.1.1/bin/linux-x86-64/sonar.sh /usr/bin/sonar sudo vi /usr/lib/systemd/system/sonar.service
在新文件中写入:
#
# Simple Sonar systemd service file
#
# systemd supports lots of fancy features, look here (and linked docs)for a full list:
# http://www.freedesktop.org/software/systemd/man/systemd.exec.html
#
# Note: this file (/usr/lib/systemd/system/sonar.service ) # will be overwritten on package upgrade, please copy the file to
#
# /etc/systemd/system/sonar.service
#
# to make needed changes.
#
# systemd–delta can be used to check differences between the two sonar.service files.
#[Unit]
=SonarQube System 5.1.1
Description
After=network.target remote-fs.target nss-lookup.target
After=syslog.target[Install]
=multi-user.target
WantedBy
Alias=sonar.service[Service]
=forking
Type# Execute pre and post scripts as root
=true
PermissionsStartOnly# Start main service
=/usr/bin/sonar start
ExecStart# Reload main service
=/usr/bin/sonar restart
ExecReload# Stop main service
=/usr/bin/sonar stop
ExecStop# Give up
if ping don‘t get an answer
TimeoutSec=600PrivateTmp
=true然后保存退出.
这时, 你就可以使用强大的 systemctl 命令来进行 SonarQube 的启动 / 重载 / 停止操作了.
启动命令: sudo systemctl start sonar.service
重启命令: sudo systemctl restart sonar.service
停止明林: sudo systemctl stop sonar.service开机启动命令: sudo systemctl enable sonar.service
去除开机启动: sudo systemctl disable sonar.service
查看启动状态: sudo systemctl status sonar.service
二. 安装 Jenkins:
- 我选择了 yum 安装 Jenkins. 首先添加库和 key.
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
然后输入命令进行 yum 安装.
sudo yum install jenkins
安装包大小约为 60M.
- 安装完成后, 需要修改下 Jenkins 的端口, 避免和 tomcat 冲突.
sudo vi /etc/sysconfig/jenkins
找到两处地方:
JENKINS_PORT=”8080″
JENKINS_AJP_PORT=”8009″
将其修改为 (端口号可以随意改, 只要不和其他的程序冲突就好):JENKINS_PORT=”8189″
JENKINS_AJP_PORT=”8190″
- 使用命令: sudo systemctl start jenkins.service 启动 Jenkins 服务, 在客户机的浏览器地址栏中输入: http://< 服务器 IP>:8189 即可看到 Jenkins 的页面了. 如图:
- 如果启动发生错误, 提示未找到 /usr/bin/Java, 则说明你的 jdk 配置不对. 可以使用 java –version 查看是否安装成功和版本是否正确. 如果没问题, 还是依旧报这个错误, 可以复制一下 JDK 的版本号: 例如 1.8.0_45. 然后, 找到
/etc/init
.d
/jenkins 这个文件, 编辑它.
sudo vi /etc/init.d/jenkins
找到这段代码:candidates=“
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java"
发现没有我们的 JDK 文件目录, 添加/usr/java/jdk1.8.0_45/bin/java
到这段代码之后, 效果如此:candidates=“
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
/usr/java/jdk1.8.0_45/bin/java
“
保存退出, 然后启动, 成功!
至此,Jenkins 安装完毕. 接下来, 我们需要配置 Jenkins 中的 sonar 插件.
在浏览器中输入 http://< 服务器 IP>:8189 来访问 Jenkins 的主页, 点击左侧的”系统管理”. 如图:
再选择”管理插件”
选择”可选插件”, 在右上角的搜索栏中输入 sonar, 然后在”SonarQube Plugin”前面打钩, 点击”直接安装”按钮, 等待重启. 页面刷新后, 就安装好了插件了.
配置 SonarQube 插件, 同样是在”系统管理”中的”系统设置”中, 找到如图位置:
如果从未添加过 SonarQube, 则点击”Add SonarQube”, 然后点击”高级”. 如图:
填入相应的内容, 就配置好了。
局域网内利用 GitLab+Jenkins 自动生成 GitBook 并发布 (Nginx) http://www.linuxidc.com/Linux/2016-05/131136.htm
Linux+Git+Maven+Jenkins+Neuxs 自动化编译环境搭建 http://www.linuxidc.com/Linux/2016-02/128652.htm
在 CentOS 7 上安装 Jenkins http://www.linuxidc.com/Linux/2016-11/137548.htm
CentOS6 安装 Jenkins http://www.linuxidc.com/Linux/2016-05/131365.htm
使用 Jenkins 配置 Git+Maven 的自动化构建 http://www.linuxidc.com/Linux/2016-02/128641.htm
Jenkins+Maven+Git 搭建持续集成和自动化部署的配置手记 http://www.linuxidc.com/Linux/2015-06/118606.htm
Jenkins 的分布式构建及部署——节点 http://www.linuxidc.com/Linux/2015-05/116903.htm
Jenkins+Gitlab+Sonar 代码检查平台搭建 http://www.linuxidc.com/Linux/2017-01/139900.htm
Jenkins 的详细介绍 :请点这里
Jenkins 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140780.htm