更好地控制回归处理的Sentry插件
sentry-regressions的Python项目详细描述
哨兵回归
sentry-regressions是一个哨兵插件,允许更好地控制 非线性后台释放的回归处理。
特别是,这个插件在确定 一个事件是否是一个回归,而股票哨兵则不是。这个 如果您处理的是backport版本,那么 一个错误修复程序被移植到一个lower版本,这个版本比 其中一个问题被标记为要在中解决。
考虑这个例子:
- 您释放8.0
- 找到一个小错误,并在master 中修复它
- 您释放8.1,其中包含修复程序
- 您将哨兵问题解决为“在8.1中解决”
- 现在,您将a different,从master返回到8.0.xlts分支的关键修复
- 您将发布8.0.1,其中包含关键的修复,但不包含琐碎的修复
因此,按照时间顺序,您创建了以下版本:
- 8.0
- 8.1
- 8.0.1
如果在8.0.1中再次出现这个小错误,stock sentry将错误地 将其标记为回归,然后重新打开问题。不过,这并不是倒退, 因为琐碎的bug从来没有假定要在8.0.1中修复,所以 在8.1中。但是因为哨兵严格按照时间顺序释放 日期,它认为发行版8.0.1“高于”8.1。
这个回归插件将把实际的release版本带入 通过解析版本字符串并比较 它们正确(包括数字的自然排序顺序)。
对于解析版本字符串,插件将尝试使用packaging 模块(通过pkg_resources.parse_version()) 如果可以根据Python’s PEP440分析版本。
虽然这当然适用于python包中使用的版本,但是 pep 440中概述的版本规范在其核心是相当通用的, 并应适用于许多其他编程语言的版本控制 约定,除非您使用非常奇特的版本控制方案。
安装
只需通过pip:
安装插件pip install sentry-regressions
然后需要根据每个项目启用该插件:
- 进入岗哨项目
- 设置
- 集成->;所有集成
- 为项目启用RegressionPlugin。
兼容性
测试时间:
- 哨兵9.1
- 哨兵8.22
开发
- 创建一个virtualenv并激活它
- 创建Python Install of Sentry
- git clone https://github.com/4teamwork/sentry-regressions.git
- cd sentry-regressions
- pip install -e .
链接
更改日志
1.0.0(2019-05-20)
- 初步实施。 [lgraf]