首页 文章 精选 留言 我的

精选列表

搜索[gitlab],共1343篇文章
优秀的个人博客,低调大师

gitlab+jenkins+maven+docker持续集成(十一)——sonarqube及sonarscanner代码审查

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质 量。通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、 findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程 进行代码质量管理。 同时Sonar还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用Sonar。 此外,Sonar的插件还可以对Java以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。 一、安装配置sonarqube 下载地址: https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.5.zip 1)创建数据库 1 2 3 4 5 6 CREATEDATABASEsonarCHARACTERSETutf8COLLATEutf8_general_ci; CREATEUSER 'sonar' IDENTIFIEDBY 'sonar' ; GRANTALLONsonar.*TO 'sonar' @ '%' IDENTIFIEDBY 'sonar' ; GRANTALLONsonar.*TO 'sonar' @ 'localhost' IDENTIFIEDBY 'sonar' ; FLUSHPRIVILEGES; 2)配置sonarqube 解压后进入conf/sonar.properties 1 2 3 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql: //localhost :3306 /sonar ?useUnicode= true &characterEncoding=utf8&rewriteBatchedStatements= true &useConfigs=maxPerformance&useSSL= false 3)配置环境变量 1 2 3 vi /etc/profile export SONAR_HOME= /data/sonar export PATH=${SONAR_HOME} /bin :${PATH} 4)启动 1 2 3 cd bin /linux-x86-64 . /sonar .shstart . /sonar .shstop 访问http://ip:9000即可 二、安装配置sonar-scanner 1)安装及配置 1 2 3 4 5 6 7 8 9 10 11 12 wgethttps: //repo1 .maven.org /maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/3 .0.3.778 /sonar-scanner-cli-3 .0.3.778.zip 解压后进入目录 #moreconf/sonar-scanner.properties #Configureheregeneralinformationabouttheenvironment,suchasSonarQubeDBdetailsforexample #Noinformationaboutspecificprojectshouldappearhere #-----DefaultSonarQubeserver sonar.host.url=http: //192 .168.12.109:9000 #-----Defaultsourcecodeencoding sonar.sourceEncoding=UTF-8 2)配置环境变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #vi/etc/profile export SONAR_RUNNER_HOME= /data/sonar-scanner export PATH=$SONAR_RUNNER_HOME /bin :$PATH #source/etc/profile 确诊生效 #sonar-scanner-h INFO: INFO:usage:sonar-scanner[options] INFO: INFO:Options: INFO:-D,--define<arg>Defineproperty INFO:-h,--helpDisplayhelpinformation INFO:- v ,--versionDisplayversioninformation INFO:-X,--debugProduceexecutiondebugoutput 三、jenkins集成sonar-scanner 1)配置sonar jenkins 安装SonarQube Scanner for Jenkins 安装后进入填写sonar信息,新版本是用token进入认证的 用admin进入sonar 用户-->安全, 生成token 2)sonar scaner环境变量配置 配置完以下,我们进入项目中集成 一下步要注意下,我们选择在构建前,还是构建后进行代码扫描,我这里项目是maven编译后再做代码扫描,所以是构建后,这里要注意下 Post Steps 1 2 3 4 5 6 sonar.projectKey=platform-batch_dev sonar.projectName=platform-batch_dev sonar.projectVersion=1.0 sonar.language=java sonar.sources=src /main/java sonar.java.binaries=target /classes 以上配置完后就可以了, 点项目构建,就会调用sonarscannere脚本,scanner脚本再调用sonar写入到数据库中,构建完成后,我们就会在sonar里看到代码报告了。 本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1968394

优秀的个人博客,低调大师

gitlab+jenkins+maven+docker持续集成(七)——.Jenkins Pipeline持续集成

Pipeline的几个基本概念: Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。 Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。 Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供 新建pipeline项目 进入配置 这里要参考下pipeline的具体语法,如下图,输入相关git信息点击生成会自动成生相关语句 整个示例语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 node{ stage( 'getclone' ){ //check CODE gitcredentialsId: 'f3eb1fea-42b0-46b2-8342-a2be6a65fe73' ,url: 'http://xx.xx.xx/xx/qd_api.git' } stage( 'mvntest' ){ withMaven( maven: 'M3' ){ sh "mvntest" } } stage( 'mvnbuild' ){ //mvn 构建 withMaven( maven: 'M3' , mavenLocalRepo: '.repository' ){ sh "mvncleaninstall-Dmaven.test.skip=true" } } stage( 'deploy' ){ // 执行部署脚本 echo "deploy......" } } 需要注意的是这里的M3环境变量,在Global Tool Configuration 我们进行配置 确保以下配置后,我们进行构建 本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1958904

优秀的个人博客,低调大师

gitlab+jenkins+maven+docker持续集成(四)——Extended E-mail Notification配置

构建后进行邮件通知,这里我们用Extended E-mail Notification 系统管理-->Extended E-mail Notification 在这里subject、content为defalut 模板,我们暂不做配置,我这里按项目进行配置 Extended E-mail Notification 邮件模板见下: Content Type:HTML(text/html) Default Subject 1 构建通知:$PROJECT_NAME-Build #$BUILD_NUMBER-$BUILD_STATUS! Default Content 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <bstyle= "font-size:12px" >(<spanstyle= "color:red" >本邮件是程序自动下发的,请勿回复< /span >)<br>< /b ><hr> <bstyle= "font-size:12px;" >项目名称:$PROJECT_NAME<br>< /b ><hr> <bstyle= "font-size:12px;" >构建编号:$BUILD_NUMBER<br>< /b ><hr> <bstyle= "font-size:12px;" >GIT版本号:${GIT_REVISION}<br>< /b ><hr> <bstyle= "font-size:12px;" >构建状态:<spanstyle= "color:red" >$BUILD_STATUS< /span ><br>< /b ><hr> <bstyle= "font-size:12px;" >触发原因:${CAUSE}<br>< /b ><hr> <bstyle= "font-size:12px;" >构建日志地址:<ahref= "${BUILD_URL}console" >${BUILD_URL}console< /a ><br>< /b ><hr> <bstyle= "font-size:12px;" >构建地址:<ahref= "$BUILD_URL" >$BUILD_URL< /a ><br>< /b ><hr> <bstyle= "font-size:12px;" >变更集:${JELLY_SCRIPT,template= "html" }<br>< /b ><hr> 配置后一定要选择Triggers, 这样配置后构建成功与失败都会收到邮件 本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1958579

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册