原文链接

一、Sentry 与 Gitlab 集成

1.1 安装 Gitlab 集成

为了能够将 Sentry 配置到 Gitlab ,需要在 Gitlab 仓库中创建一个 Sentry 应用。

注意:需是 Gitlab 的管理员才有创建应用的权限。

  1. 进入 Sentry 设置后台,点击 Gitlab 集成,然后点击“Add 安装”,会弹出如下页面

image.png

  1. 进入Gitlab设置,选择应用,创建新的应用

image.png
注意:需具备管理员权限,才能进入该页面。

  1. 在表单中,填入以下信息,并点击提交

image.png

  1. 在结果页面,将看到应用程序 ID 和密钥(Application ID & Secret)

image.png

  1. 回到 Sentry 设置后台,点击”下一个”,继续之前操作,然后点击提交

image.png

  1. 到配置的 Gitlab 实例中,点击“配置”,添加你要跟踪代码提交的仓库

image.png
image.png

注意:
Sentry 与 Gitlab 如果都部署在同一局域网下,在 Sentry 添加仓库时可能会报“Invalid given url”,针对这一问题,如下图所示,需要在 Gitlab 下配置允许局域网的请求转发。
image.png

1.2 配置 Gitlab 集成

通过 GitLab 跟踪代码提交记录,Sentry 可识别出可疑提交,亦可以利用提交记录或 PR 来管理 issues。

1.2.1 Issuse 管理

问题跟踪允许你在 Sentry 中创建 GitLab Issue,并且也可将 Sentry Issue 链接到现有的 GitLab Issue 上。

  1. 选择 Issue

image.png

  1. 导航到 Issue 页面右侧面板上的 Lined Issues,然后单击“Link GitLab Issue”。

image.png

  1. 此时有两个选择可以完成问题链接操作:
  • 弹出窗口中,可以在“创建”选项卡中填写相应的详细信息,然后单击“创建问题”。

image.png

  • 在弹出窗口中,可以单击“Link”选项,按名称搜索 issue,然后单击“Link Issue”

image.png

  1. 要取消链接 issue,请单击已链接问题下其名称旁边的 “X”。

1.2.2 可疑 commit

“可疑 commit”指可能引入错误的代码提交。 使用 Sentry 的 commit 跟踪功能的一大好处是能够了解可能导致错误的可疑 commit,并提供有关如何纠正错误的建议行动计划。例如,在查明可疑 commit 后,可以发现谁是做出提交的开发人员并分配给他们修复错误的任务。
image.png

要开启这一功能,只需配置 webpack 插件“@sentry/webpack-plugin”,在提交 sourcemap 文件的同时提交commit 信息即可,更多配置参考链接

  1. chainWebpack: function (memo) {
  2. // 本地开发无需上传 sourcemap
  3. if (!UMI_ENV && REACT_APP_ENV) {
  4. memo.plugin('sentry').use(SentryWebpackPlugin, [
  5. {
  6. // sentry-cli configuration
  7. configFile: './sentryclirc',
  8. release: pkg.version,
  9. urlPrefix: '~/',
  10. // webpack specifice configuration
  11. include: './dist',
  12. ignore: ['node_modules', 'config'],
  13. // 进行 commit 信息的上传
  14. setCommits: {
  15. auto: true,
  16. },
  17. },
  18. ]);
  19. }

其中:

  • --autosentry-cli将自动使用您本地仓库的 git tree,并将先前 release 的提交和当前的主要提交之间的提交与该 release 相关联。如果这是第一个 release,Sentry 将使用最新的 20 个提交。此行为可使用 —initial-depth 标志进行配置。

也可以通过 sentry-cli 进行手动上传,命令如下:

  1. sentry-cli releases -o sentry -p qzh_fe set-commits --auto 1.0.0

1.2.3 commit 跟踪

commit 跟踪功能可以帮你深入了解有问题的 commit。借助 commit 跟踪功能,您可以利用标签或元数据等发布信息更好地隔离可能存在问题的 commit。

一旦您配置了发布和 commit 跟踪功能,您将能够看到有关发布的更全面的信息:提交的人、此版本新引入的问题以及受影响的部署。
image.png
当您深入调查该 commit 时,您可以利用标签等元数据中的信息。
image.png
从广义上讲,这可以让您隔离问题,以便查看哪些 commit 可能有问题。

二、同步 Issue 至 Gitlab

  1. 创建 Auth Tokens,token 生效范围设置如下

image.png

  1. 在 Gitlab 中启用错误跟踪,其中
  • Sentry API URL 即为 sentry 服务器的地址加端口;
  • 验证令牌即为生成的 token,点击连接,然后选择要监控的项目,最后保存。

image.png

  1. 点击”监控 => 错误跟踪”,即可看到 Sentry 的错误已同步到 Gitlab 中。

image.png