• 代码扫描搭建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平台就可以看到结果了。

  • 相关阅读:
    智能合约安全分析,针对 ERC777 任意调用合约 Hook 攻击
    牛客网:旋转数组
    JAVA 中如何实现代码优化(技巧讲解)
    卷积神经网络入门
    LeetCode 双周赛 99,纯纯送分场!
    Docker Swarm 部署界面 UI Portainer
    h0055. 长方体
    leetcode 903. DI 序列的有效排列
    IIC通信协议
    卷积网络识别猴痘
  • 原文地址:https://blog.csdn.net/oscarli/article/details/126252926