将工件报告到 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