- 浏览: 2551215 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
Code SonarQube 2019(1)Installation with default H2
We can find the downloads from here https://www.sonarqube.org/downloads/
And we can find scanner https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
Source Codes
https://github.com/SonarSource/sonarqube
https://github.com/SonarSource/sonar-scanner-cli
Download the file from these versions
> wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
> wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744.zip
Unzip and file and place to the working directories
> unzip sonarqube-7.9.1.zip
> mv sonarqube-7.9.1 ~/tool/
> unzip sonar-scanner-cli-4.0.0.1744.zip
> mv sonar-scanner-4.0.0.1744 ~/tool/
> sudo ln -s /home/carl/tool/sonarqube-7.9.1 /opt/sonarqube-7.9.1
> sudo ln -s /opt/sonarqube-7.9.1 /opt/sonarqube
> sudo ln -s /home/carl/tool/sonar-scanner-4.0.0.1744 /opt/sonar-scanner-4.0.0
> sudo ln -s /opt/sonar-scanner-4.0.0 /opt/sonar-scanner
Check Java version
> java -version
java version "1.8.0_171"
According to https://blog.51cto.com/dadapeng/1934568
Need Database MySQL
> sudo apt update
> sudo apt install mysql-server
> sudo apt install mysql-client
Default root User
https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
Check the root password
> sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = ddHulNSEFzhUFvS1
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = ddHulNSEFzhUFvS1
socket = /var/run/mysqld/mysqld.sock
> mysql -u debian-sys-maint -pddHulNSEFzhUFvS1
Prepare Database Information
> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
> FLUSH PRIVILEGES;
Then I can use this command to connect to that
> mysql -h localhost -u sonar -psonar
Configure sonarque configuration
> cd /opt/sonarqube
> vi conf/sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
Add this to the ClassPath
export SONAR_HOME=/opt/sonarqube
export SONAR_RUNNER_HOME=/opt/sonar-scanner
export PATH="$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin"
Start the Service
> bin/linux-x86-64/sonar.sh start
Check the logging and I get this error
WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: SonarQube requires Java 11+ to run
java.lang.IllegalStateException: SonarQube requires Java 11+ to run
at org.sonar.application.App.checkJavaVersion(App.java:93)
at org.sonar.application.App.start(App.java:56)
at org.sonar.application.App.main(App.java:98)
Solutions:
http://www.jenv.be/
Install jENV on Ubuntu
> git clone https://github.com/gcuisinier/jenv.git ~/.jenv
> echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
> echo 'eval "$(jenv init -)"' >> ~/.bash_profile
> . ~/.bash_profile
Check installation
> jenv versions
* system (set by /home/carl/.jenv/version)
> jenv --version
jenv 0.5.2-4-gd8ffd5b
I manually install JDK8 so
> jenv add /opt/jdk-1.8.0-171
oracle64-1.8.0.171 added
1.8.0.171 added
1.8 added
Download JDK 11 and JDK 12
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
Then I get file
jdk-11.0.4_linux-x64_bin.tar.gz
jdk-12.0.2_linux-x64_bin.tar.gz
Put all these in the working directory
> sudo ln -s /home/carl/tool/jdk-11.0.4 /opt/jdk-11.0.4
> sudo ln -s /home/carl/tool/jdk-12.0.2 /opt/jdk-12.0.2
> jenv add /opt/jdk-11.0.4
> jenv add /opt/jdk-12.0.2
> jenv versions
* system (set by /home/carl/.jenv/version)
11.0
11.0.4
12.0
12.0.2
1.8
1.8.0.171
oracle64-11.0.4
oracle64-12.0.2
oracle64-1.8.0.171
> jenv global 11.0
Check java version
> java -version
java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
Start Sonar again
> bin/linux-x86-64/sonar.sh start
Exception:
2019.07.22 13:08:01 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143
Solution:
https://stackoverflow.com/questions/49128166/sonarqube-exits-with-143
Move out all the plugins
> cd /opt/sonarqube
> mv plugins/* ~/install/plugins/
Then it is working fine now
> bin/linux-x86-64/sonar.sh status
SonarQube is running (30432)
After few seconds, it stoped again…..
https://community.sonarsource.com/t/installing-sq-7-9-on-ubuntu-14-04-exit-value-es-143/11478
Cleaned the data and logs directories, still not working.
Does this matters in es.log
2019.07.22 14:53:42 DEBUG es[][i.n.u.i.CleanerJava9] java.nio.ByteBuffer.cleaner(): unavailable
java.lang.UnsupportedOperationException: sun.misc.Unsafe unavailable
at io.netty.util.internal.CleanerJava9.<clinit>(CleanerJava9.java:68) [netty-common-4.1.32.Final.jar:4.1
.32.Final]
https://blog.csdn.net/qq_35981283/article/details/81072852
> ulimit -Hn
65536
> sudo sysctl -p
vm.max_map_count = 262144
net.ipv4.ip_nonlocal_bind = 1
Try one older version
> wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
> sudo ln -s /home/carl/tool/sonarqube-7.6 /opt/sonarqube-7.6
> sudo ln -s /opt/sonarqube-7.6 /opt/sonarqube
> vi conf/sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
It seems that it has something to do with the MySQL drivers. If I use default database setting H2 I guess, it will work.
Check document from here
https://docs.sonarqube.org/7.9/requirements/requirements/
https://docs.sonarqube.org/6.7/Requirements.html
It seems old version support MySQL, new version does not.
After all these, we can visit the page here
http://ubuntu-master:9000/about
We can login with default username and password admin/admin
After I create a sample JAVA project there, it asked me to run the maven command
> mvn sonar:sonar -Dsonar.projectKey=sillycat-websocket -Dsonar.host.url=http://ubuntu-master:9000 -Dsonar.login=adf305363a2cec4fa4311ea89317229ddd691991
It will scan and get a feeling about my JAVA codes.
Try the sample project
https://github.com/luohuazju/sillycat-jwtphp
For PHP project, we can have something similar
> sonar-scanner -Dsonar.projectKey=sillycat-jwtphp -Dsonar.sources=. -Dsonar.host.url=http://ubuntu-master:9000 -Dsonar.login=8118a943f3eb997399ecd9ad0891c3c7f46f8e21
On Mac OS, we can install the scanner as well.
> wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744.zip
Unzip and place that in the working directory
> mv sonar-scanner-4.0.0.1744 ~/tool/
> sudo ln -s /Users/hluo/tool/sonar-scanner-4.0.0.1744 /opt/sonar-scanner-4.0.0
> sudo ln -s /opt/sonar-scanner-4.0.0 /opt/sonar-scanner
Add to the path
export PATH=/opt/sonar-scanner/bin:$PATH
Check installation
> sonar-scanner --version
INFO: Scanner configuration file: /Users/hluo/tool/sonar-scanner-4.0.0.1744/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 4.0.0.1744
INFO: Java 1.8.0_161 Oracle Corporation (64-bit)
INFO: Mac OS X 10.14.5 x86_64
Same command, works pretty well.
References:
https://www.jianshu.com/p/50496b75a7b0
https://www.jianshu.com/p/9766f0129581
https://blog.csdn.net/zdyueguanyun/article/details/79447701
https://blog.51cto.com/dadapeng/1934568
We can find the downloads from here https://www.sonarqube.org/downloads/
And we can find scanner https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
Source Codes
https://github.com/SonarSource/sonarqube
https://github.com/SonarSource/sonar-scanner-cli
Download the file from these versions
> wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
> wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744.zip
Unzip and file and place to the working directories
> unzip sonarqube-7.9.1.zip
> mv sonarqube-7.9.1 ~/tool/
> unzip sonar-scanner-cli-4.0.0.1744.zip
> mv sonar-scanner-4.0.0.1744 ~/tool/
> sudo ln -s /home/carl/tool/sonarqube-7.9.1 /opt/sonarqube-7.9.1
> sudo ln -s /opt/sonarqube-7.9.1 /opt/sonarqube
> sudo ln -s /home/carl/tool/sonar-scanner-4.0.0.1744 /opt/sonar-scanner-4.0.0
> sudo ln -s /opt/sonar-scanner-4.0.0 /opt/sonar-scanner
Check Java version
> java -version
java version "1.8.0_171"
According to https://blog.51cto.com/dadapeng/1934568
Need Database MySQL
> sudo apt update
> sudo apt install mysql-server
> sudo apt install mysql-client
Default root User
https://stackoverflow.com/questions/33991228/what-is-the-default-root-pasword-for-mysql-5-7
Check the root password
> sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = ddHulNSEFzhUFvS1
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = ddHulNSEFzhUFvS1
socket = /var/run/mysqld/mysqld.sock
> mysql -u debian-sys-maint -pddHulNSEFzhUFvS1
Prepare Database Information
> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
> FLUSH PRIVILEGES;
Then I can use this command to connect to that
> mysql -h localhost -u sonar -psonar
Configure sonarque configuration
> cd /opt/sonarqube
> vi conf/sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
Add this to the ClassPath
export SONAR_HOME=/opt/sonarqube
export SONAR_RUNNER_HOME=/opt/sonar-scanner
export PATH="$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin"
Start the Service
> bin/linux-x86-64/sonar.sh start
Check the logging and I get this error
WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: SonarQube requires Java 11+ to run
java.lang.IllegalStateException: SonarQube requires Java 11+ to run
at org.sonar.application.App.checkJavaVersion(App.java:93)
at org.sonar.application.App.start(App.java:56)
at org.sonar.application.App.main(App.java:98)
Solutions:
http://www.jenv.be/
Install jENV on Ubuntu
> git clone https://github.com/gcuisinier/jenv.git ~/.jenv
> echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
> echo 'eval "$(jenv init -)"' >> ~/.bash_profile
> . ~/.bash_profile
Check installation
> jenv versions
* system (set by /home/carl/.jenv/version)
> jenv --version
jenv 0.5.2-4-gd8ffd5b
I manually install JDK8 so
> jenv add /opt/jdk-1.8.0-171
oracle64-1.8.0.171 added
1.8.0.171 added
1.8 added
Download JDK 11 and JDK 12
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
Then I get file
jdk-11.0.4_linux-x64_bin.tar.gz
jdk-12.0.2_linux-x64_bin.tar.gz
Put all these in the working directory
> sudo ln -s /home/carl/tool/jdk-11.0.4 /opt/jdk-11.0.4
> sudo ln -s /home/carl/tool/jdk-12.0.2 /opt/jdk-12.0.2
> jenv add /opt/jdk-11.0.4
> jenv add /opt/jdk-12.0.2
> jenv versions
* system (set by /home/carl/.jenv/version)
11.0
11.0.4
12.0
12.0.2
1.8
1.8.0.171
oracle64-11.0.4
oracle64-12.0.2
oracle64-1.8.0.171
> jenv global 11.0
Check java version
> java -version
java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
Start Sonar again
> bin/linux-x86-64/sonar.sh start
Exception:
2019.07.22 13:08:01 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143
Solution:
https://stackoverflow.com/questions/49128166/sonarqube-exits-with-143
Move out all the plugins
> cd /opt/sonarqube
> mv plugins/* ~/install/plugins/
Then it is working fine now
> bin/linux-x86-64/sonar.sh status
SonarQube is running (30432)
After few seconds, it stoped again…..
https://community.sonarsource.com/t/installing-sq-7-9-on-ubuntu-14-04-exit-value-es-143/11478
Cleaned the data and logs directories, still not working.
Does this matters in es.log
2019.07.22 14:53:42 DEBUG es[][i.n.u.i.CleanerJava9] java.nio.ByteBuffer.cleaner(): unavailable
java.lang.UnsupportedOperationException: sun.misc.Unsafe unavailable
at io.netty.util.internal.CleanerJava9.<clinit>(CleanerJava9.java:68) [netty-common-4.1.32.Final.jar:4.1
.32.Final]
https://blog.csdn.net/qq_35981283/article/details/81072852
> ulimit -Hn
65536
> sudo sysctl -p
vm.max_map_count = 262144
net.ipv4.ip_nonlocal_bind = 1
Try one older version
> wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip
> sudo ln -s /home/carl/tool/sonarqube-7.6 /opt/sonarqube-7.6
> sudo ln -s /opt/sonarqube-7.6 /opt/sonarqube
> vi conf/sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
It seems that it has something to do with the MySQL drivers. If I use default database setting H2 I guess, it will work.
Check document from here
https://docs.sonarqube.org/7.9/requirements/requirements/
https://docs.sonarqube.org/6.7/Requirements.html
It seems old version support MySQL, new version does not.
After all these, we can visit the page here
http://ubuntu-master:9000/about
We can login with default username and password admin/admin
After I create a sample JAVA project there, it asked me to run the maven command
> mvn sonar:sonar -Dsonar.projectKey=sillycat-websocket -Dsonar.host.url=http://ubuntu-master:9000 -Dsonar.login=adf305363a2cec4fa4311ea89317229ddd691991
It will scan and get a feeling about my JAVA codes.
Try the sample project
https://github.com/luohuazju/sillycat-jwtphp
For PHP project, we can have something similar
> sonar-scanner -Dsonar.projectKey=sillycat-jwtphp -Dsonar.sources=. -Dsonar.host.url=http://ubuntu-master:9000 -Dsonar.login=8118a943f3eb997399ecd9ad0891c3c7f46f8e21
On Mac OS, we can install the scanner as well.
> wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744.zip
Unzip and place that in the working directory
> mv sonar-scanner-4.0.0.1744 ~/tool/
> sudo ln -s /Users/hluo/tool/sonar-scanner-4.0.0.1744 /opt/sonar-scanner-4.0.0
> sudo ln -s /opt/sonar-scanner-4.0.0 /opt/sonar-scanner
Add to the path
export PATH=/opt/sonar-scanner/bin:$PATH
Check installation
> sonar-scanner --version
INFO: Scanner configuration file: /Users/hluo/tool/sonar-scanner-4.0.0.1744/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 4.0.0.1744
INFO: Java 1.8.0_161 Oracle Corporation (64-bit)
INFO: Mac OS X 10.14.5 x86_64
Same command, works pretty well.
References:
https://www.jianshu.com/p/50496b75a7b0
https://www.jianshu.com/p/9766f0129581
https://blog.csdn.net/zdyueguanyun/article/details/79447701
https://blog.51cto.com/dadapeng/1934568
发表评论
-
Stop Update Here
2020-04-28 09:00 315I will stop update here, and mo ... -
NodeJS12 and Zlib
2020-04-01 07:44 475NodeJS12 and Zlib It works as ... -
Docker Swarm 2020(2)Docker Swarm and Portainer
2020-03-31 23:18 367Docker Swarm 2020(2)Docker Swar ... -
Docker Swarm 2020(1)Simply Install and Use Swarm
2020-03-31 07:58 368Docker Swarm 2020(1)Simply Inst ... -
Traefik 2020(1)Introduction and Installation
2020-03-29 13:52 336Traefik 2020(1)Introduction and ... -
Portainer 2020(4)Deploy Nginx and Others
2020-03-20 12:06 430Portainer 2020(4)Deploy Nginx a ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 435Private Registry 2020(1)No auth ... -
Docker Compose 2020(1)Installation and Basic
2020-03-15 08:10 373Docker Compose 2020(1)Installat ... -
VPN Server 2020(2)Docker on CentOS in Ubuntu
2020-03-02 08:04 454VPN Server 2020(2)Docker on Cen ... -
Buffer in NodeJS 12 and NodeJS 8
2020-02-25 06:43 384Buffer in NodeJS 12 and NodeJS ... -
NodeJS ENV Similar to JENV and PyENV
2020-02-25 05:14 475NodeJS ENV Similar to JENV and ... -
Prometheus HA 2020(3)AlertManager Cluster
2020-02-24 01:47 421Prometheus HA 2020(3)AlertManag ... -
Serverless with NodeJS and TencentCloud 2020(5)CRON and Settings
2020-02-24 01:46 337Serverless with NodeJS and Tenc ... -
GraphQL 2019(3)Connect to MySQL
2020-02-24 01:48 246GraphQL 2019(3)Connect to MySQL ... -
GraphQL 2019(2)GraphQL and Deploy to Tencent Cloud
2020-02-24 01:48 450GraphQL 2019(2)GraphQL and Depl ... -
GraphQL 2019(1)Apollo Basic
2020-02-19 01:36 326GraphQL 2019(1)Apollo Basic Cl ... -
Serverless with NodeJS and TencentCloud 2020(4)Multiple Handlers and Running wit
2020-02-19 01:19 312Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(3)Build Tree and Traverse Tree
2020-02-19 01:19 317Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(2)Trigger SCF in SCF
2020-02-19 01:18 292Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(1)Running with Component
2020-02-19 01:17 311Serverless with NodeJS and Tenc ...
相关推荐
SonarQube的核心功能在于它的静态代码分析,它可以检测出代码中的各种问题,如潜在的bug、代码异味(code smell)、安全漏洞以及不一致的编码风格。通过集成在开发流程中,SonarQube可以在代码提交前或构建过程中...
1. **SonarQube服务器**:SonarQube的核心组成部分,包括Web服务器、基于Elasticsearch的搜索服务器以及计算引擎服务器。Web服务器负责处理用户界面的请求,Elasticsearch搜索服务器用于索引和搜索数据,计算引擎...
1、官网下载myeclipse2019.4安装包 2、安装myeclipse 3、下载解压crack包 4、将解压后的crack包中patch文件夹下的内容全部拷贝到myeclipse安装路径下的plugin文件夹下(默认的路径为C:\Users\username\AppData\Local...
1. **静态代码分析**:SonarQube能够对多种编程语言(如Java、C#、Python等)的源代码进行深度扫描,查找语法错误、不规范的编码习惯、潜在的性能瓶颈以及可能的安全隐患。 2. **代码异味检测**:SonarQube可以识别...
SonarQube是一款开源的代码质量管理工具,它用于检测代码中的漏洞、代码异味(Code Smells)和复杂性,以提升软件的质量和安全性。在给定的“sonarqube-9.1.zip”文件中,包含的是SonarQube 9.1版本的相关资源,该...
1. **SonarQube概述** SonarQube由SonarSource公司开发,它提供了代码质量的持续监控,包括代码异味(Code Smell)、漏洞(Bug)、代码复杂度(Complexity)等方面的检查。7.8版本是在其历史版本的基础上进行改进和...
1. **代码分析**:SonarQube能够对多种编程语言(如Java、Python、C#、JavaScript等)进行静态代码分析,找出可能存在的安全漏洞、错误、坏味道(code smell)和设计问题。 2. **度量标准**:SonarQube提供了一系列...
SonarQube是一款强大的静态代码分析工具,用于检测软件中的bug、漏洞和异味(Code Smell)。通过分析项目源代码,SonarQube能够帮助开发者找出潜在的问题,并提供修复建议,以提高代码质量和可维护性。以下是...
1. **静态代码分析**:SonarQube可以对多种编程语言(如Java、C#、Python等)进行源代码扫描,检测出潜在的bug、代码异味(Code Smell)、漏洞和复杂性等问题,帮助开发者提升代码质量。 2. **度量和可视化**:...
Begin to Code with Python Begin to Code with Python
1. **SonarQube服务器**:这是整个平台的核心,负责接收分析请求,处理数据,并展示结果。 2. **数据库**:SonarQube需要一个数据库来存储项目信息、代码度量和其他元数据。默认使用H2内存数据库,但在生产环境中...
Code Generation with Rosyln is the first book to cover this new capability. You will learn how these techniques can be used to simplify systems integration so that if one system already defines ...
这款工具支持多种编程语言,包括但不限于Java、C#、JavaScript、Python等,能够对代码进行深度分析,找出潜在的bug、代码异味(code smell)、漏洞和复杂性问题。 SonarQube的核心组件包括以下几个方面: 1. **...
Working Effectively With Legacy Code
1. **支持的编程语言**:SonarQube 7.7支持多种编程语言,包括Java和C#,这也是本资源的标签之一。它能够对这些语言的代码进行深度分析,检测出语法错误、潜在漏洞、坏味道(code smell)以及复杂性问题等。 2. **...
1. **多语言支持**:SonarQube支持Java、C#、Python、JavaScript等多种编程语言的代码分析,覆盖了大部分现代软件开发的需求。 2. **质量门限**:用户可以设置质量门限,当代码质量低于特定标准时,构建会失败,...