将工件报告到 DeepSource
DeepSource 是一款源代码分析工具,它可以标记反模式、安全漏洞、样式违规,并提供可操作的问题和指标。
DeepSource 的分析器接受通过 CLI 从外部来源推送的工件。例如,工件可以是测试覆盖率文件。
以下指南介绍了如何在构建过程中推送工件。
设置 DEEPSOURCE_DSN 环境变量 #
为了对工件推送进行身份验证,DeepSource 为每个存储库提供了一个DSN
。它可以在 DeepSource 的存储库仪表板的设置 > 报告
部分中找到。有关如何设置环境变量的信息,请参阅 Travis 文档的环境变量部分。
由于DSN
包含敏感信息,建议通过此处提到的存储库设置
方法设置它。
在 .deepsource.toml 中配置分析器 #
在推送工件之前,请确保在.deepsource.toml
文件中启用了分析器。
例如:要推送测试覆盖率工件,请确保将test-coverage
分析器添加到.deepsource.toml
文件中。
[[analyzers]]
name = "test-coverage"
enabled = true
有关特定于分析器的说明,请参阅DeepSource 的分析器文档。
安装 CLI 并推送工件 #
- 通过执行
curl https://deepsource.io/cli | sh
来安装 deepsource CLI。 - 通过执行
./bin/deepsource report --analyzer <ANALYZER_SHORTCODE> --key <ARTIFACT_KEY> --value-file <ARTIFACT_VALUE_FILE>
来报告工件。
有关详细说明,请参阅DeepSource CLI 文档。
示例 #
以下.travis.yml
配置将 Python 测试覆盖率推送到 DeepSource 的test-coverage
分析器。
# Set build language to Python
language: python
# Set python version to 3.6
python: 3.6
# Install dependencies
install:
- pip install -r requirements.txt
# Run tests
script:
- coverage run test_hello.py
# Report results to DeepSource
after_success:
# Generate coverage report in xml format
- coverage xml
# Install deepsource CLI
- curl https://deepsource.io/cli | sh
# Report coverage artifact to 'test-coverage' analyzer
- ./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml
有问题?我们很乐意为您解决。请联系我们:support@deepsource.io