Next.jsのSource MapをSentryにおくる

Next.js以外でもWebpackを扱えるものなら大体いけるはずです。 @sentry/webpack-plugin Sentryでは、@sentry/webpack-pluginをWebpackで利用してSource […]

広告ここから
広告ここまで

目次

    Next.js以外でもWebpackを扱えるものなら大体いけるはずです。

    @sentry/webpack-plugin

    Sentryでは、@sentry/webpack-pluginをWebpackで利用してSource Mapをアップロードできます。

    Next.jsの場合は、next.config.jsに記述しましょう。

    const SentryWebpackPlugin = require('@sentry/webpack-plugin');
    
    const settings = {
        productionBrowserSourceMaps: true,
        webpack: (config) => {
          if (process.env.NODE_ENV === 'production') {
            config.plugins.push(
              new SentryWebpackPlugin({
                include: '.next',
                ignore: ['node_modules'],
                urlPrefix: '~/_next',
                // release: COMMIT_SHA
              })
            );
          }
          return config
        }
      }

    productionBrowserSourceMapstrueにしないと、next buildでSoureMapが作られない様子なので注意です。

    Next.js provides a configuration flag you can use to enable browser source map generation during the production build

    https://nextjs.org/docs/advanced-features/source-maps

    APIキーの取得

    Sentry管理画面のSettings > Developer Settings > INTERNAL INTEGRATIONSからAPIキーを作成します。

    必要なものは以下の3つです。

    • API Token: Dashboardから作成
    • Organization Name: Sentryのグループ名
    • Project Name: プロジェクト名

    環境変数をセットする

    .envやNetlify / GitHub Actions / Vercelなどで以下の3環境変数をセットします。

    export SENTRY_ORG={SENTRY_ORG_NAME}
    export SENTRY_PROJECT={SENTRY_PROJECT_NAME}
    export SENTRY_AUTH_TOKEN={SENTRY_API_TOKEN}

    ビルドを実行する

    あとはnext buildを実行しましょう。以下のようにSentryへアップロードしているログがでればOKです。

    5:12:54 PM: > Uploaded release files to Sentry
    5:12:54 PM: > File upload complete
    5:12:54 PM: Source Map Upload Report
    5:12:54 PM:   Scripts
    5:12:54 PM:     ~/_next/server/init-server.js.js
    5:12:54 PM:     ~/_next/server/on-error-server.js.js
    5:12:54 PM:     ~/_next/server/pages/[slug].js
    5:12:54 PM:     ~/_next/server/pages/_app.js
    5:12:54 PM:     ~/_next/server/pages/_document.js
    5:12:54 PM:     ~/_next/server/pages/_error.js
    5:12:54 PM:     ~/_next/server/pages/en.js
    5:12:54 PM:     ~/_next/server/pages/en/[slug].js
    5:12:54 PM:     ~/_next/server/pages/index.js

    ファイルの確認は”Settings > Source Maps”から

    Sentry管理画面からアップロードしたファイルをビルド別に確認できます。

    参考

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark