docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker jenkins配置sonarQube

docker中的jenkins配置sonarQube的过程

作者:Alex镇

SonarQube是一个开源的代码分析平台,用来持续分析和评测项目源代码的质量,通过SonarQube可以检测出项目中重复代码,潜在bug, 代码规范,安全性漏洞等问题,并通过SonarQube web UI展示出来,这篇文章主要介绍了docker中的jenkins配置sonarQube,需要的朋友可以参考下

docker中的jenkins去配置sonarQube

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描和分析,包含java\python\C#\javascript\go\C++等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。
5、能够与代码编辑器、CI/CD平台完美集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。

1、拉取sonarQube

macdeMacBook-Pro:~ mac$ docker pull sonarqube:8.9.6-community
8.9.6-community: Pulling from library/sonarqube
8572bc8fb8a3: Pull complete 
702f1610d53e: Pull complete 
8c951e69c28d: Pull complete 
f95e4f8c4082: Pull complete 
0ac9ebcbeda3: Pull complete 
Digest: sha256:bef2a81963ccf2f3de0d793c172e4e343e55b9c6b0322dc610e427bc6f566799
Status: Downloaded newer image for sonarqube:8.9.6-community
docker.io/library/sonarqube:8.9.6-community
What's Next?
  View summary of image vulnerabilities and recommendations → docker scout quickview sonarqube:8.9.6-community

2、拉取postgres

macdeMacBook-Pro:~ mac$ docker pull postgres
Using default tag: latest
latest: Pulling from library/postgres
648e0aadf75a: Pull complete 
f715c8c55756: Pull complete 
b11a1dc32c8c: Pull complete 
f29e8ba9d17c: Pull complete 
78af88a8afb0: Pull complete 
b74279c188d9: Pull complete 
6e3e5bf64fd2: Pull complete 
b62a2c2d2ce5: Pull complete 
eba91ca3c7a3: Pull complete 
d4a24cdf2433: Pull complete 
b20f8a8dfd5c: Pull complete 
e0731dd084c3: Pull complete 
0361da6a228e: Pull complete 
Digest: sha256:8775adb39f0db45cf4cdb3601380312ee5e9c4f53af0f89b7dc5cd4c9a78e4e8
Status: Downloaded newer image for postgres:latest
docker.io/library/postgres:latest
What's Next?
  View summary of image vulnerabilities and recommendations → docker scout quickview postgres

3、编写docker-compose.yml

version: '3.1'
services:
  db:
    image: postgres
    container_name: db
    ports:
      - 5432:5432
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
  sonarqube:
    image: sonarqube:8.9.6-community
    container_name: sonarqube
    depends_on:
      - db
    ports:
      - 9000:9000
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
networks:
  sonarnet:
    driver: bridge

4、启动

macdeMacBook-Pro:sonarqube mac$ docker-compose up -d
[+] Running 3/3
 ✔ Network sonarqube_sonarnet  Created                                     0.0s 
 ✔ Container db                Started                                     0.4s 
 ✔ Container sonarqube         Started  

5、打开页面并配置新密码

默认是

adminadmin

6、jenkins下载插件

sonarQube Scanner

7、配置jenkins

这里Server authentication token需要取sonarQube中获取token

8、jenkins的项目中配置

之后将他移到构建之前

sonar.projectname=${JOB_NAME}
sonar.projectKey=${JOB_NAME}
sonar.source=./
sonar.java.binaries=target

9、开始构建

我构建的时候会报一个这样的错误,跟我之前访问docker中的oracle数据库应该是同样的错误,无法访问宿主机的localhost

lMac:docker.for.mac.host.internal
Linux:host.docker.internal

可以看我之前的文章https://www.jb51.net/article/232934.htm

之后我将localhost换成

sonar.host.url=http://docker.for.mac.host.internal:9000
sonar.projectname=${JOB_NAME}
sonar.projectKey=${JOB_NAME}
sonar.source=./
sonar.java.binaries=target

10、构建成功

到此这篇关于docker中的jenkins去配置sonarQube的文章就介绍到这了,更多相关docker jenkins配置sonarQube内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文