【问题标题】:How to set the release version as a part of Ember build?如何将发布版本设置为 Ember 构建的一部分?
【发布时间】:2020-07-30 14:28:45
【问题描述】:

我想在前端设置版本(index.html 中的meta 标记或window 上的属性,一旦代码加载到浏览器中,或以其他方式)作为构建的一部分/Ember 中的部署过程。实现这一目标的理想方法是什么?我需要它来将源映射映射到 Sentry 中的版本。

【问题讨论】:

    标签: javascript ember.js ember-cli source-maps sentry


    【解决方案1】:

    我们使用ember-cli-app-version 和 Github Action 的组合在部署时进行设置,并将其与每个错误报告一起发送给 Sentry。

    在我们的sentry.js 文件中,我们将错误版本设置为:

    import * as Sentry from '@sentry/browser';
    import { Ember } from '@sentry/integrations/esm/ember';
    import { versionRegExp } from 'ember-cli-app-version/utils/regexp';
    
    function startSentry(config) {
      Sentry.init({
        ...config.sentry,
        integrations: [new Ember()],
        release: config.APP.version.match(versionRegExp)[0],
      });
    }
    
    export {
      startSentry,
    };
    

    github action 使用 git 标签,看起来像:

    - name: Create a Sentry.io release
          run: |
            # Create new Sentry release
            export SENTRY_RELEASE=$(sentry-cli releases propose-version)
            sentry-cli releases new $SENTRY_RELEASE
            sentry-cli releases set-commits --auto $SENTRY_RELEASE
            sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps tmp/deploy-dist/
            sentry-cli releases finalize $SENTRY_RELEASE
          env:
            SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
    

    【讨论】:

      【解决方案2】:

      您可以使用ember-cli-app-version 显示应用版本。

      【讨论】:

        【解决方案3】:

        你看过这个插件了吗:
        ember-cli-deploy-sentry
        还要看看问题和 PR,至少源代码可以让你开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-10
          • 1970-01-01
          • 2017-12-09
          • 2020-11-12
          相关资源
          最近更新 更多