Use when managing Sentry releases, uploading source maps, or tracking deployments. Covers release health and commit association.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
name: sentry-release-management description: Use when managing Sentry releases, uploading source maps, or tracking deployments. Covers release health and commit association. allowed-tools:
Manage releases, upload source maps, and track deployments.
# Create a new release
sentry-cli releases new "$VERSION"
# Associate commits
sentry-cli releases set-commits "$VERSION" --auto
# Finalize the release
sentry-cli releases finalize "$VERSION"
# GitHub Actions
- name: Create Sentry Release
uses: getsentry/action-release@v1
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: your-org
SENTRY_PROJECT: your-project
with:
environment: production
version: ${{ github.sha }}
release:
stage: deploy
script:
- sentry-cli releases new "$CI_COMMIT_SHA"
- sentry-cli releases set-commits "$CI_COMMIT_SHA" --auto
- sentry-cli releases finalize "$CI_COMMIT_SHA"
- sentry-cli releases deploys "$CI_COMMIT_SHA" new -e production
# Upload source maps for a release
sentry-cli sourcemaps upload \
--release="$VERSION" \
--url-prefix="~/" \
./dist
# With validation
sentry-cli sourcemaps upload \
--release="$VERSION" \
--validate \
./dist
// webpack.config.js
const { sentryWebpackPlugin } = require("@sentry/webpack-plugin");
module.exports = {
devtool: "source-map",
plugins: [
sentryWebpackPlugin({
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
release: {
name: process.env.RELEASE_VERSION,
},
sourcemaps: {
assets: "./dist/**",
},
}),
],
};
// vite.config.ts
import { sentryVitePlugin } from "@sentry/vite-plugin";
export default defineConfig({
build: {
sourcemap: true,
},
plugins: [
sentryVitePlugin({
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
}),
],
});
// next.config.js
const { withSentryConfig } = require("@sentry/nextjs");
module.exports = withSentryConfig(nextConfig, {
org: "your-org",
project: "your-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
silent: true,
hideSourceMaps: true,
});
# Create a deployment
sentry-cli releases deploys "$VERSION" new \
--env production \
--started $(date +%s) \
--finished $(date +%s)
Sentry.init({
dsn: "...",
release: "my-app@1.2.3",
environment: "production",
autoSessionTracking: true,
});
[defaults]
org = your-org
project = your-project
[auth]
token = your-auth-token
defaults.org=your-org
defaults.project=your-project
auth.token=your-auth-token
# Delete old releases
sentry-cli releases delete "$OLD_VERSION"
# Delete source maps (keeps release)
sentry-cli releases files "$VERSION" delete --all