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

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

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

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

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

准备阶段

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

一. 安装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 don‘t 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的页面了.如图:

  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的主页,点击左侧的”系统管理”.如图:

    再选择”管理插件”

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

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

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

 

填入相应的内容,就配置好了.在下一章,我会把如何测试以及报告怎么分析发上来.

时间: 2024-10-15 05:41:01

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

Tomcat+Jenkins+SonarQube+SVN+Maven 集成自动化环境搭建(Windows10环境下)

说在前面的话: 从接到任务到完成共用了7天的时间.正常人用不到这个时间. 此时的功能表现是: 登录本地JenKins对项目进行构建,能够自动从SVN读取最新代码并按照Maven项目构建,构建完成能够自动使用SonarQube分析代码质量,并将构建的War包部署到指定容器中. 版权声明:此博客纯手打,个人创作,转载请注明出处 导图: 环境准备:MySQL5.7. Tomcat7.0.93.Tomcat8.5.30.JenKins2.160.SonarQube7.6+Sonar Scanner3.3

Linux下搭建jenkins+svn+http+maven自动化部署

服务器设置: 卸载redhat的yum,安装centos的yum,配置第三方yum 1.删除redhat原有的rpm -qa |grep yum |xargs rpm -e yum --nodeps 2.下载yum安装文件,如果下载时找不到文件,http://mirrors.163.com/centos/6/os/x86_64/ wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.27-14.el6.centos.noa

命令方式 搭建 (简易)Maven项目

原料:1.配好的Maven环境变量    2.c m d命令 win  + r  输入 cmd 切换到此项目所要存在的位置 使用命令创建文件夹 切换 到 maven_demo中  输入 cd maven_demo 使用命令创建maven项目结构(类似下面这种结构,规范点的.) md --> 创建文件夹 src \ main \ java \ com \ oukele  -->   创建src文件夹,在src目录下创建main文件夹,在main目录下创建java文件夹... 在 oukele目录

Jenkins构建远程maven项目

介绍 本地jenkins地址 远程tomcat地址 jenkins工作目录 tomcat工作目录 192.168.1.130 223.203.219.136 /var/lib/jenkins/job /opt/docker/ 安装远程scp的插件(Publish Over SSH) 配置SSH remote hosts,以此来实现远程脚本命令的执行 配置Publish over SSH 构建远程Maven项目 保存立即构建项目

使用Intellij IDEA搭建一个简单的Maven项目

IntelliJ IDEA是Java最优秀的开发工具,它功能全面,提示比较智能,开发界面炫酷,新技术支持的比较迅速. 我使用了Eclipse快10年了,IntelliJ IDEA这么好用必须要试一试. 下面使用IntelliJ IDEA来快速搭建一个Maven项目: 1. 第一步我们打开编辑器,来 Create New Project 一个项目 2. 红色框框是几个比较重要的地方,按照我选择的方式进行操作即可点击"Next" 3. 填写组名和项目名 4. 点击下一步,进入如下界面 5.

centos7上搭建jenkins+ansible的server

前提:先安装tomcat,请参考之前写的在centos7上安装tomcat的博文              http://12395331.blog.51cto.com/12385331/1884980 安装jenkins 1> 下载jenkins包. 进入tomcat/webapps/ 目录下,下载jenkins.war包到这里,如下载有问题,可自行下载传到这个目录下,部署的过程中半天都下不下来,提供了jenkins的附件     wget http://mirrors.jenkins-ci.

MAC上搭建Jenkins + Android + IOS自动开发部署环境

因为MAC是大小写不敏感的操作系统,很多Linux命令不支持,所以首先要创建大小写敏感的操作系统. 设置静态IP 打开"System Preferences..." 点击"Network" 设置静态IP 设置Terminal 在"Utilities"中找到Terminal,点击"Terminal" 右击Terminal图标,选择"Options" -> "Keep in Dock"

Java持续集成(1) &ndash; 在CentOS上搭建Jenkins

本文将介绍如下内容 1 Ant配置 2 Maven配置 3 Jenkins配置   Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1 持续的软件版本发布/测试项目 2 监控外部调用执行的工作 使用Jenkins实现持续集成一般还需要Ant.Maven配合   1 Ant配置 1 官网下载ant  我装的版本是1.8.2的zip压缩包 2 拷贝zip到/usr/local目录下 3 unzip apache-ant-1.8.2-bin.zip 4 环境变量

如何在ASP.NET 5上搭建基于TypeScript的Angular2项目

一.前言 就在上月,公司的一个同事建议当前的前端全面改用AngularJs进行开发,而我们采用的就是ASP.NET 5项目,原本我的计划是采用TypeScript直接进行Angular2开发.所以借用这段时间来写下如何在ASP.NET 5下搭建基于TypeScript的Angualr2的项目,下面我们就进入正题. 二.环境配置 如果读者直接按照Angular.io上的方式搭建是无法通过的,所以下面我们的教程基本跟Angular.io上的类似,只是其中的配置会有所不同,并且也会多出一些步骤. 1.