DevOps: SonarQube
- dnf install java-11-openjdk postgresql-server postgresql postgresql-contrib
- useradd sonar
- unzip sonarqube-VERSION.zip -d /opt
- ln -sv /opt/sonarqube-VERSION /opt/sonarqube
- chown -RL sonar.sonar /opt/sonarqube
- postgresql-setup initdb
- /var/lib/pgsql/data/pg_hba.conf 改为下图所示
- su - postgres
- psql
- create database sonar;
- create user sonar;
- alter user sonar with password 'sonar';
- alter role sonar createdb;
- alter role sonar superuser;
- alter role sonar createrole;
- alter database sonar owner to sonar;
- \q
- su - root
- /opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar
- firewall-cmd --zone=public --permanent --add-port=9000/tcp
- firewall-cmd --reload
- /etc/sysctl.conf
vm.max_map_count=262144 fs.file-max=1048576
sysctl --system
- /etc/security/limits.conf
* soft nofile 1048576 * hard nofile 1048576 * soft nproc 4096 * hard nproc 4096
- su - sonar -c '/opt/sonarqube/linux-x86-64/bin/sonar.sh start'
- 用户名和密码均为: admin
# https://docs.sonarqube.org/latest/setup/install-server/ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #--------------------------------------------------------------------- # Prerequisites #--------------------------------------------------------------------- unzip sonarqube-9.2.1.49989.zip -d /usr/local cd /usr/local && ln -svnf sonarqube-9.2.1.49989 sonarqube groupadd --gid 9000 sonarqube useradd --uid 9000 --gid 9000 -d /usr/local/sonarqube --shell /bin/bash --comment 'SonarQube User' sonarqube chown --dereference -L -R sonarqube.sonarqube /usr/local/sonarqube #--------------------------------------------------------------------- # Multi-Branch Plugin #--------------------------------------------------------------------- https://github.com/mc1arke/sonarqube-community-branch-plugin/releases #--------------------------------------------------------------------- # Sonar-Scanner #--------------------------------------------------------------------- Examples: https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner/src # sonar-project.properties sonar.host.url=http://sonarqube:9000 # sonar.login=admin # sonar.password=moderate0! sonar.login=97cd1f21966042b2320539c1b720144d5e2aaced sonar.projectKey=java:java-1 sonar.projectName=java-1 sonar.sources=src/main sonar.java.binaries=target sonar.projectVersion=0.0.1-SNAPSHOT sonar.language=java sonar.sourceEncoding=UTF-8 sonar-scanner -Dsonar.login=Token -Dsonar.verbose=true -Dsonar.projectKey=myproject -Dsonar.sources=src/main -Dproject.settings=myproject.properties # docker docker run \ --rm \ -e SONAR_HOST_URL="http://sonarqube:9000" \ -e SONAR_LOGIN="97cd1f21966042b2320539c1b720144d5e2aaced" \ -v "$PWD:/usr/src" \ --net host \ sonarsource/sonar-scanner-cli -Dsonar.projectKey=myproject -Dsonar.projectName=pppp mvn clean verify sonar:sonar -Dmaven.test.skip=true -Dsonar.projectName=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.branch.name=${GIT_BRANCH} #--------------------------------------------------------------------- # Gitlab Integration #--------------------------------------------------------------------- application ID: 4889aab9c84dc43f124ee86a2a0b06e67c1ff71242808da76c4edfca7dd07b4f Secret: 0ea3248d2285817ab3f4cb2891b81f82ba120218c7644316757671002f2b9da3 https://docs.sonarqube.org/latest/analysis/gitlab-integration/ QYwefqsYWyecSsx1vnGD sonarqube 76aa7926d3a64a82c573dc29341de7df374970ba mvn clean verify sonar:sonar -Dsonar.login=76aa7926d3a64a82c573dc29341de7df374970ba #--------------------------------------------------------------------- # SonarScanner for Maven #--------------------------------------------------------------------- Docs: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/ <settings> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://sonarqube:9000 </sonar.host.url> <sonar.login> Token here </sonar.login> </properties> </profile> </profiles> </settings> git pull --allow-unrelated-histories --set-upstream larva refs/heads/main:refs/heads/master
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律