如何将发布版本设置为 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 }}
我想在前端设置版本(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 }}