愿日志与你同在
关于如何部署安全、受监控、优化的 Web 应用程序的系列第三部分(简短的奖励部分)
软件需要的最重要的东西之一,而不仅仅是 Web 应用程序,是能够记录最终用户使用它时发生的所有事件和错误,这样我们就可以真正看到哪里出了问题并在用户之前修复它甚至完成发送给支持团队的电子邮件。
这部分将介绍如何使用Sentry,基于 SaaS 的日志服务,提供实时错误监控,大量适用于每种主要语言和框架的 SDK,对我们来说重要的是与 Git 集成的能力查看每个版本/代码更改的错误。
先决条件
我们需要开始的一些东西当然是一个 Sentry 帐户,我们的amplify.yml来自第一个后和一个我们想要使用它的应用程序。
一旦哨兵帐户启动并且您将适当的SDK添加到您的应用程序(这部分超出了本文的范围),我们可以将其添加到我们的管道中,该管道将生成源映射以实际指向我们的原始代码在它的编译/捆绑/丑化/等化发生之前。
整合吧!
大多数应用程序将通过以下方式初始化 Sentry:
Sentry.init({
dsn: "https://XXXXXXXXXXXXXXXXXXXXXXX@sentry.io/XXXXXX",
release: <% COMMIT_HASH %>
});
<% COMMIT_HASH %>是我们将替换预构建我们的应用程序的内容,因此 Sentry 可以指向添加更改或解决问题的特定提交。
在我项目的preBuild阶段的amplify.yml文件中(此更改取决于您正在构建的软件)我调用我构建的脚本来更改 CI 期间的所有环境变量。用AWS_COMMIT_ID替换<% COMMIT_HASH %>。
映射
要上传相关的源映射,我们必须在Amplify控制台、SENTRY_AUTH_TOKEN、SENTRY_ORG 和 SENTRY_PROJECT 定义一些环境变量。
之后,我们可以在postBuild步骤中将以下几行添加到我们的amplify.yml
- npx sentry-cli releases new AWS_COMMIT_ID
- npx sentry-cli releases set-commits --auto AWS_COMMIT_ID
- npx sentry-cli releases files AWS_COMMIT_ID upload-sourcemaps path/to/source-maps -x .js -x .map --validate --verbose --rewrite --strip-common-prefix
- npx sentry-cli releases finalize AWS_COMMIT_ID
这是非常不言自明的,一旦构建成功,您应该在您的哨兵仪表板中看到一个新版本,并且当现在记录错误并且它与该版本相关联时,它将查明更改或修复该错误的代码,如果你问我。
希望你喜欢这个简短的奖励部分,在接下来的文章中,我将介绍另一个帮助视觉回归快照的好工具。
更多推荐

所有评论(0)