SonarSource/sonarqube-webapp
GitHub: SonarSource/sonarqube-webapp
SonarQube 前端 Web 应用,提供代码质量问题的可视化展示与质量门禁功能。
Stars: 9 | Forks: 13
# SonarQube Webapp
[](https://github.com/SonarSource/sonarqube-webapp/actions/workflows/build-sq-cb.yml)
[](https://next.sonarqube.com/sonarqube/dashboard?id=sonarqube-webapp)
本仓库包含 SonarQube 用户界面的源代码。服务器代码托管在 [sonarqube 仓库](https://github.com/SonarSource/sonarqube) 中。
## 持续检查
SonarQube 不仅能够展示应用程序的健康状况,还能突出显示新引入的问题。配备质量门禁(Quality Gate),你可以 [实现干净代码](https://www.sonarsource.com/solutions/clean-code/),从而系统性地提升代码质量。
## 链接
- [网站](https://www.sonarsource.com/products/sonarqube)
- [下载](https://www.sonarsource.com/products/sonarqube/downloads)
- [文档](https://docs.sonarsource.com/sonarqube)
- [SonarQube 后端源代码](https://github.com/SonarSource/sonarqube)
- [X](https://twitter.com/SonarQube)
- [SonarSource](https://www.sonarsource.com),SonarQube 的作者
- [问题跟踪](https://jira.sonarsource.com/browse/SONAR/),只读。只有 SonarSource 成员可以创建工单。
- [负责任的漏洞披露](https://community.sonarsource.com/t/responsible-vulnerability-disclosure/9317)
- [Next](https://next.sonarqube.com/sonarqube) 版本的 SonarQube 下一个实例
## 有问题或反馈?
对于支持性问题(“如何操作?”、“我遇到这个错误,为什么?”……),请先阅读 [文档](https://docs.sonarsource.com/sonarqube),然后前往 [Sonar 社区](https://community.sonarsource.com/c/help/sq) 论坛。你的问题的答案很可能已经有人回答过了!🤓
请注意,该论坛是一个社区,因此需要遵循基本的礼貌(“你好”、“谢谢”等)。如果你未在帖子中得到回复,请至少等待三天再提醒。操作员不会一直待命。😄
## 贡献
如果你希望看到新功能或报告错误,请在我们的 [论坛](https://community.sonarsource.com/c/sq/10) 上创建新主题。
请注意,我们并未积极寻求功能贡献。事实是,公司外部人员极难遵循我们的路线图和期望。因此,我们通常只接受微小的外观修改和拼写错误修复。
考虑到这一点,如果你希望提交代码贡献,请为此仓库创建一个拉取请求(Pull Request)。请说明你希望进行此变更的原因:你要解决什么问题,你希望做出什么改进。
请确保遵循我们的 [代码风格](https://github.com/SonarSource/sonar-developer-toolset#code-style) 并使所有测试通过。
有意向为 SonarSource 产品做贡献?我们正在寻找聪明、热情且有技能的人来帮助我们构建世界级的代码质量解决方案。请查看我们当前的 [职位空缺](https://www.sonarsource.com/company/jobs/)!
## 构建
首先,请注意本仓库仅包含 SonarQube 的用户界面,服务器代码可在 [sonarqube 仓库](https://github.com/SonarSource/sonarqube) 中找到。
要从源代码本地构建 UI,请按照以下说明操作。
### 构建
在项目根目录下执行:
```
cd apps/sq-server
# 安装依赖,仅首次需要
yarn
# 构建 Web 应用
yarn build
```
分发文件将生成在 `apps/sq-server/build/webapp` 目录中。
### 本地运行 UI 以进行开发
```
# 启动开发服务器,目标指向位于 http://localhost:9000 的 SonarQube 实例
yarn start-sqs
# 启动开发服务器,目标指向位于 http://my-sonarqube.org 的 SonarQube 实例
PROXY=http://my-sonarqube.org yarn start-sqs
```
### 验证你的更改并测试
```
yarn validate
```
### 构建整个 SonarQube(带自定义 UI)
如果你希望构建整个 SonarQube 并使用自定义 UI,还必须克隆 `sonarqube` 仓库,其中包含后端代码。
然后可以执行以下操作:
```
cd /path/to/sonarqube-webapp/apps/sq-server
# 进行修改以实现自定义 UI
# 构建 Web 应用
yarn build
# 进入 sonarqube 仓库进行构建
cd /path/to/sonarqube
# 使用自定义构建方式构建 sonarqube 仓库
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/apps/sq-server/build/webapp ./gradlew build
```
随后可以像往常一样使用 `start.sh` 脚本启动 SonarQube 服务器。
## 翻译文件
SonarQube 的默认翻译(英文)现已位于本仓库中,你可以在以下位置找到它们:
https://github.com/SonarSource/sonarqube-webapp/blob/master/apps/sq-server/src/main/js/l10n/default.ts
该文件的格式不再是 `.properties` 文件,但你仍可以通过运行以下命令生成该格式的文件:
```
cd apps/sq-server
# 生成包含所有翻译键的向后兼容的 .properties 文件
yarn generate-translation-keys
```
请注意,为其他语言贡献翻译扩展的方式仍然与以前相同。只是默认翻译的源文件已迁移至此。
## 许可证
Copyright 2008-2025 SonarSource。
根据 [GNU Lesser General Public License, Version 3.0](https://www.gnu.org/licenses/lgpl.txt) 授权。
标签:CMS安全, JavaScript, React, SEO, SonarQube, SonarSource, Syscalls, TypeScript, 下载中心, 代码健康, 代码检测, 前端UI, 安全插件, 开源框架, 技术栈, 持续集成, 数据可视化, 文档, 源码仓库, 漏洞披露, 社区版, 自动化攻击, 质量监控, 质量门, 错误基检测, 问题追踪, 静态代码分析