Jenkins+maven+git+sonar 系统持续集成&代码单測管理

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:
Jenkins+maven+git+sonar 系统持续集成&代码单測管理

Jenkins的安装
Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作。功能包含:
1、持续的软件版本号公布/測试项目。

2、监控外部调用运行的工作。

1.下载最新的版本号(一个 war 文件)。

Jenkins官方网址: http://Jenkins-ci.org/

2.执行 java -jar jenkins.war(jenkins默认使用的是内嵌的jetty服务,用户也能够布置到其他容器中。

(默认是8080port。能够使用java -jar jenkins.war --httpPort=8088,作为启动项目的监听port。

注意:Jenkins 须要执行 Java 5以及以上的版本号。


Jenkins的基本配置

系统设置通过选择Manage Jenkins -》 Configure System



设置Maven的配置文件路径



由于jenkins默认使用的是svn管理项目的,要使用git须要安装git插件。

Manage Jenkins -》 Manage Plugins -》Available -》Git plugins 之后点击安装。之后再回到系统管理页面设置git相应的一些參数信息。


Sonar的安装

从sonar的官网下载最新的版本号http://www.sonarqube.org/

sonar的安装须要JDK5.0以上&须要安装Maven(sonar默认使用的是H2的内嵌数据库,只是在详细的使用中建议使用mysql等数据库)

sonar数据源的配置

更改..../sonarqube-4.5.1/conf/sonar.properties

设置properties文件

sonar.jdbc.username=数据库用户名

sonar.jdbc.password=数据库密码

设置数据库链接

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=

设置链接池

sonar.jdbc.maxActive=20

sonar.jdbc.maxIdle=5

sonar.jdbc.minIdle=2

sonar.jdbc.maxWait=5000

sonar.jdbc.minEvictableIdleTimeMillis=600000

sonar.jdbc.timeBetweenEvictionRunsMillis=30000

在mysql数据库中创建一个sonar的DB

启动sonar:./sonar.sh start(默认的启动port是9000,在浏览器中打开http://localhost:9000


Sonar的项目測试

在须要sonar统计測试的项目中配置sonar的maven配置

    <properties>
        <!-- sonar config-->
        <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&autoReconnect=true</sonar.jdbc.url>
        <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
        <sonar.jdbc.username>username</sonar.jdbc.username>
        <sonar.jdbc.password>passwd</sonar.jdbc.password>
        <sonar.host.url>http://localhost:9000</sonar.host.url>
        <sonar.scm.enabled>true</sonar.scm.enabled>
        <sonar.core.codeCoveragePlugin>cobertura</sonar.core.codeCoveragePlugin>
        <sonar.cobertura.maxmen>1024M</sonar.cobertura.maxmen>
        <sonar.skippedModules>
        <!--不须要測试的包-->
        </sonar.skippedModules>
    </properties>
在相应的项目文件夹下使用mvn sonar:sonar调用sonar程序进行test的測试

Jenkins Sonar的配置

在Jenkins上设置sonar的配置管理,首先须要安装sonar的插件。Manage Jenkins -》 Manage Plugins -》Available -》Sonar Plugin 之后点击安装。

之后在系统设置上配置一些sonar的基本參数信息


Jenkins 项目管理配置

Jenkins项目配置管理



Sonar项目測试管理

启动项目build



查看项目的sonar測试情况





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5279661.html,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
4月前
|
人工智能 自然语言处理 安全
代码静态扫描工具集成与实践
代码静态扫描工具(Static Application Security Testing, SAST)是在不运行代码的情况下,通过分析源代码或二进制代码来发现潜在安全漏洞、代码缺陷和质量问题的工具
567 4
|
4月前
|
机器学习/深度学习 编解码 计算机视觉
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
138 2
|
4月前
|
编解码 算法 自动驾驶
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
483 125
|
5月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
200 0
|
6月前
|
安全 API 数据安全/隐私保护
低代码革命:API无代码集成如何让企业“3天上线一个生态”?
在数字化转型浪潮中,API成为释放数据价值、提升企业效率的核心。本文详解API架构设计、安全实践与跨平台集成,为CTO提供效率提升指南,涵盖微服务、安全认证、协议选择、低代码集成及未来趋势,助力企业构建敏捷、安全、高效的数字生态。
|
4月前
|
机器学习/深度学习 数据采集 传感器
基于多尺度集成极限学习机回归(Matlab代码实现)
基于多尺度集成极限学习机回归(Matlab代码实现)
155 1
|
4月前
|
机器学习/深度学习 运维 算法
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
135 1
|
5月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
346 0
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
413 2
|
9月前
|
存储 Java Maven
Maven系统级别依赖:解决部署时Jar包缺失问题
以上就是关于Maven系统级别依赖解决部署时Jar包缺失问题的解答,希望对你有所帮助。在软件开发中,遇到问题并解决问题是常态,希望你能够善用这些工具,解决你遇到的问题。
622 28

推荐镜像

更多