codacy/codacy-sonar-csharp
GitHub: codacy/codacy-sonar-csharp
将 SonarC# 静态分析引擎容器化并集成到 Codacy 平台的 Docker 引擎,用于自动化 C# 代码质量与安全审查。
Stars: 7 | Forks: 5
[](https://www.codacy.com/gh/codacy/codacy-sonar-csharp?utm_source=github.com&utm_medium=referral&utm_content=codacy/codacy-sonar-csharp&utm_campaign=Badge_Grade)
[](https://circleci.com/gh/codacy/codacy-sonar-csharp)
# Codacy SonarC#
这是我们 Codacy 用来运行由 SonarSource 开发的 [SonarC#](https://github.com/SonarSource/sonar-csharp) 的 docker 引擎。
你也可以创建一个 docker 来集成你选择的工具和语言!
查看 **Docs** 部分以获取更多信息。
## 本地开发
**要求**:
- unzip
- xmllint
* 在 ubuntu 上:`apt-get install libxml2-utils`
* 在 alpine 上:`apk add libxml2-utils`
- dotnet-sdk-6.0 - "The .NET Core SDK"
* 在 archlinux 上:上述包也会安装 `dotnet-runtime`、`dotnet-host` 和 `dotnet-targeting-pack`) - the .NET Core SDK
### IDE
这在 vscode 中似乎可以正常运行,请安装
"C# for Visual Studio Code (powered by OmniSharp)" 扩展
并在其中打开项目之前执行 `make configure`。
### 命令
- `make configure` - 运行 `dotnet restore`,它会下载项目运行所需的所有库。
- `make build` - 编译 *Analyzer* 项目。
- `make build-docs` - 编译 *DocsGenerator* 项目。
- `make build-all` - 同时编译 *Analyzer* 和 *DocsGenerator* 项目。
- `make documentation` - 下载我们在 `Analyzer.csproj` 中定义的 *sonar version* 的上游规则,
提取该版本的规则并运行 *DocsGenerator* 应用程序。
请参阅 `Makefile` 中的其他有用目标。
## 使用方法
### 在本地发布 docker 镜像
```
docker build -t codacy-sonar-csharp:local .
```
### 在本地运行 docker
```
docker run --user=docker --rm -v :/src:ro -v /.codacyrc:/.codacyrc:ro codacy-sonar-csharp:local
```
### 进入 docker 镜像内部
```
docker run --user=docker --rm -v :/src:ro -v /.codacyrc:/.codacyrc:ro -it --entrypoint /bin/sh codacy-sonar-csharp:local
```
## 工具配置文件
目前,要使用你自己的配置文件,你必须添加一个包含 AnalysisInput 结构的 SonarLint.xml xml 文件。
示例:
```
S103
maximumLineLength
24
```
## 文档
[工具开发者指南](https://support.codacy.com/hc/en-us/articles/207994725-Tool-Developer-Guide)
[工具开发者指南 - 使用 Scala](https://support.codacy.com/hc/en-us/articles/207280379-Tool-Developer-Guide-Using-Scala)
## 测试
我们使用 [codacy-plugins-test](https://github.com/codacy/codacy-plugins-test) 来测试我们的外部工具集成。
你可以按照那里的说明进行操作,以确保你的工具按预期工作。
## 什么是 Codacy?
[Codacy](https://www.codacy.com/) 是一个自动化代码审查工具,它可以监控你的技术债务,帮助你提高代码质量,向你的开发者传授最佳实践,并帮助你在代码审查中节省时间。
### Codacy 的功能包括:
- 识别新的静态分析问题
- 对使用 GitHub、BitBucket/Stash、GitLab(以及直接的 git 仓库)的提交和 Pull Request 进行分析
- 在提交和 Pull Request 上自动评论
- 与 Slack、HipChat、Jira、YouTrack 集成
- 跟踪代码风格、安全性、易错性、性能、未使用代码及其他类别的问题
Codacy 还有助于跟踪代码覆盖率、代码重复和代码复杂度。
Codacy 支持 PHP、Python、Ruby、Java、JavaScript 和 Scala 等。
### 对开源免费
Codacy 对开源项目免费。
标签:AI, Alpine Linux, Codacy, Cutter, DevSecOps, Docker, dotnet-sdk, IDE插件, Makefile, NIDS, SOC Prime, SonarC#, SonarSource, Visual Studio Code, xml处理, 上游代理, 代码分析, 代码安全检测, 凭证管理, 前端框架, 安全防御评估, 容器化, 开发工具, 开源框架, 持续集成, 自动化代码审查, 请求拦截, 错误基检测, 静态代码分析, 静态检查引擎