跳转到主要内容

Sentry插件,用于更好地控制回归处理

项目描述

sentry-regressions

sentry-regressions 是一个Sentry插件,它允许通过非线性的回滚发布更好地控制回归处理。

特别是,此插件在确定事件是否为回归时考虑发布版本,而标准的Sentry则不考虑。如果您处理回滚发布,其中修复程序被回滚到比标记为解决该问题的发布更早的版本,则这一点尤其重要。

考虑以下示例

  • 您发布 8.0

  • 您发现一个简单的错误,并在 master 中修复它

  • 您发布了包含该修复的 8.1

  • 您将Sentry问题标记为“已解决在8.1中”

  • 现在您从 master 回滚一个不同的、关键的修复程序到 8.0.x LTS分支

  • 您发布了包含关键修复程序但不包含简单修复程序的 8.0.1

因此,按时间顺序,您创建了以下发布

  • 8.0

  • 8.1

  • 8.0.1

如果现在在 8.0.1 中再次发生简单错误,标准Sentry会错误地将它标记为回归并重新打开该问题。但这不是回归,因为简单错误从未应该在 8.0.1 中修复,而应该在 8.1 中修复。但由于标准Sentry严格按照时间顺序发布日期,它将发布 8.0.1 认为比 8.1 “更高”。

此回归插件将在检测回归时考虑实际 发布版本,通过解析版本字符串并正确比较它们(包括数字的自然排序顺序)。

对于解析版本字符串,如果可用,插件将尝试使用 packaging 模块(通过 pkg_resources.parse_version())来根据 Python的PEP440 解析版本。

虽然这确实适用于Python包中使用的版本,但PEP 440中概述的版本规范在核心上是相当通用的,应该适用于许多其他编程语言的版本约定,除非你使用一个非常独特的版本方案。

安装

通过 pip 简单安装插件

pip install sentry-regressions

然后需要为每个项目单独启用插件

  • 转到Sentry项目

  • 设置

  • 集成 -> 所有集成

  • 为项目启用 RegressionPlugin

兼容性

测试过

  • Sentry 9.1

  • Sentry 8.22

开发

  • 创建一个虚拟环境并激活它

  • 创建Sentry的Python安装

  • git clone https://github.com/4teamwork/sentry-regressions.git

  • cd sentry-regressions

  • pip install -e .

变更日志

1.0.0 (2019-05-20)

  • 初始实现。[lgraf]

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分发

sentry-regressions-1.0.0.tar.gz (12.0 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面