如何将发布版本设置为 Ember 构建的一部分?

How to set the release version as a part of Ember build?

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

你看过这个插件吗:
ember-cli-deploy-sentry
还要查看问题和 PR,至少源代码可以帮助您入门。

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

我们使用 ember-cli-app-version 和 Github 操作的组合在部署时设置它,并将它与每个错误报告一起发送给 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 }}