阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在Fedora 21上搭建Jenkins+SonarQube的Maven项目自动化测试平台

455次阅读
没有评论

共计 5137 个字符,预计需要花费 13 分钟才能阅读完成。

自动化测试是敏捷开发模型下的一大助力, 有了它, 测试及开发团队能及时的掌控软件质量和迭代周期, 能更好的为软件产品服务, 促进软件质量的提升和提高开发的效率.

好处很多, 我就不一一说明了.

最近, 公司将要开发新产品 (分校系统), 为了避免敏捷开发下无序, 沟通不畅, 质量不高等等缺点, 决定上自动化测试平台, 解放测试团队, 让其专注于更多的业务理解工作, 也从另一个方面规范所有程序员的开发.

好了, 废话不多说, 上硬货.

准备阶段

首先需要下载 SonarQube 和 Jenkins. 另外, 还要先安装好 MySQL 数据库和 JDK. 其中,JDK 版本至少在 1.7 以上.

  • SonarQube 官方下载地址:http://www.sonarqube.org/downloads/
  • Jenkins 官方下载地址:http://pkg.jenkins-ci.org/redhat/

一. 安装 SonarQube:

  1. 将下载好的 sonar 压缩包上传到服务器, 目录自己定. 我这里使用的是~/Download 目录
  2. 解压, 命令是:
    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/
  3. 完成之后, 需要对 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

    更改完成后, 保存退出.

  4. 在服务器的 mysql 数据库中创建 sonar 库和 sonar 用户, 并授权.
    mysql -u root –p

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE 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;

    若还未安装 mysql 数据库, 请自行百度如何在 RedHat/Fedora/CentOS 上安装 mysql 数据库并设置为开机启动.

  5. 测试 sonar 是否安装成功.
    /usr/sonar/sonarqube-5.1.1/bin/linux-x86-64/sonar.sh start

    看到提示: 

    Starting SonarQube…
    Started SonarQube.

    则说明安装成功了. 这个时候, 就可以在终端里输入 http://< 服务器 IP>:9005 来查看 web 页面的图形界面了.

  6. 最后, 我们需要让 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]
    Description=SonarQube System 5.1.1
    After
    =network.target remote-fs.target nss-lookup.target
    After
    =
    syslog.target

    [Install]
    WantedBy=multi-user.target
    Alias
    =
    sonar.service

    [Service]
    Type=forking

    # Execute pre and post scripts as root
    PermissionsStartOnly=true

    # Start main service
    ExecStart
    =/usr/bin/sonar start

    # Reload main service
    ExecReload=/usr/bin/sonar restart

    # Stop main service
    ExecStop=/usr/bin/sonar stop

    # Give up if ping dont get an answer
    TimeoutSec=600

    PrivateTmp=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:

  1. 我选择了 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.

  2. 安装完成后, 需要修改下 Jenkins 的端口, 避免和 tomcat 冲突.
    sudo vi /etc/sysconfig/jenkins

    找到两处地方:

    JENKINS_PORT=”8080″

    JENKINS_AJP_PORT=”8009″
    将其修改为 (端口号可以随意改, 只要不和其他的程序冲突就好):

    JENKINS_PORT=”8189″

    JENKINS_AJP_PORT=”8190″

  3. 使用命令:  sudo systemctl start jenkins.service  启动 Jenkins 服务, 在客户机的浏览器地址栏中输入:  http://< 服务器 IP>:8189  即可看到 Jenkins 的页面了. 如图:
    在 Fedora 21 上搭建 Jenkins+SonarQube 的 Maven 项目自动化测试平台
  4. 如果启动发生错误, 提示未找到 /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 安装完毕.

  5. 接下来, 我们需要配置 Jenkins 中的 sonar 插件.
    在浏览器中输入 http://< 服务器 IP>:8189 来访问 Jenkins 的主页, 点击左侧的”系统管理”. 如图:
    捕获 1

    再选择”管理插件”
    捕获 2

    选择”可选插件”, 在右上角的搜索栏中输入 sonar, 然后在”SonarQube Plugin”前面打钩, 点击”直接安装”按钮, 等待重启. 页面刷新后, 就安装好了插件了.

    配置 SonarQube 插件, 同样是在”系统管理”中的”系统设置”中, 找到如图位置:

    image

    如果从未添加过 SonarQube, 则点击”Add SonarQube”, 然后点击”高级”. 如图:

    在 Fedora 21 上搭建 Jenkins+SonarQube 的 Maven 项目自动化测试平台

填入相应的内容, 就配置好了。

局域网内利用 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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5137字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8272619
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

  云服务器部署 OpenClaw:轻量应用服务器 + 钉钉和 QQ 机器人 一、前言 最近开源圈爆...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...