码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 代码扫描搭建Sonar+docker+jenkins


    1、环境准备

            centos 7 +JDK11

            Docker version 20.10.13, build a224086

            jenkins:https://mirrors.jenkins.io/war-stable/2.319.1/

    2、启动jekins

    nohup java -jar jenkins.war --httpPort=80 >>log 2>&1 &

    3、部署sonar:官网直接运行一个部署:https://docs.sonarqube.org/latest/setup/get-started-2-minutes/

    docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

     登陆平台,创建一个项目拿到key:

     4.jenkins配置:

    •   安装插件:

    Git Parameter Plug-In

    GitHub Branch Source Plugin

    NodeJS Plugin

    SonarQube Scanner for Jenkins

    • 全局配置:JDK,git,SonarScanner for MSBuild、SonarQube Scanner、maven、nodeJs

    NodeJS在检查GO、TypeScript语言时需要用到。【注意NodeJS版本是否与系统兼容,具体的测试方法可以在jenkins创建一个项目,配置nodeJS 命令如 NodeJS -v 看日志提示是否缺少动态库等。】

     

    • 项目配置

     

    1. sonar.projectKey=javaProject
    2. sonar.projectName=javaProject
    3. sonar.projectVersion=1.0-SNAPSHOT
    4. sonar.sourceEncoding=UTF-8
    5. sonar.login=sqp_89465ca5ce613f08dd167b135a97r2312
    6. sonar.modules=java-module
    7. # Java module
    8. java-module.sonar.projectName=Java Module
    9. java-module.sonar.language=java
    10. java-module.sonar.sources=src
    11. java-module.sonar.projectBaseDir=.
    12. sonar.java.binaries=.

     如果是Go、TypeScript语言项目需要配置NodeJS

     

    1. sonar.projectKey=goProject
    2. sonar.projectName=goProject
    3. sonar.projectVersion=1.0-SNAPSHOT
    4. sonar.sourceEncoding=UTF-8
    5. sonar.login=sqp_6f5021a0cdf0f194a5764afc9f49a3cbfc169c11
    6. sonar.sources=.
    7. sonar.exclusions=**/*_test.go,**/vendor/**
    8. sonar.tests=
    9. sonar.test.inclusions=**/**_test.go
    10. sonar.test.exclusions=**/vendor/**
    11. sonar.go.coverage.reportPaths=report/coverage.out
    12. sonar.go.tests.reportPaths=report/test.json
    13. sonar.go.govet.reportPaths=report/govet-report.out
    14. sonar.go.gometalinter.reportPaths=report/gometalinter-report.out
    15. sonar.go.golint.reportPaths=report/golint-report.out

    5.在jekins build项目,在soanr平台就可以看到结果了。

  • 相关阅读:
    JVM指令集
    一步一图带你深入理解 Linux 虚拟内存管理
    第一个mybatis程序,实现增删改查CRUD
    07-HTTPS双向认证及Java案例
    .Net中Redis的Hash表操作
    【MySQL篇】第二篇——库的操作
    51单片机BH1750智能补光灯台灯光强光照恒流源LED控制系统
    100天精通Python(可视化篇)——第98天:Pyecharts绘制多种炫酷日历图参数说明+代码实战
    SpringCloud Alibaba(2021.0.1版本)微服务-OpenFeign以及相关组件使用(保姆级教程)
    MongoDB 主从集群 1
  • 原文地址:https://blog.csdn.net/oscarli/article/details/126252926
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号