@waracle/semantic-release-sentry-releases
v2.7.0
Published
semantic-release plugin to create releases in sentry
Readme
@eclass/semantic-release-sentry-releases
semantic-release plugin to create releases in sentry
| Step | Description |
|--------------------|---------------------------------------------------------------------------------------------|
| verifyConditions | Verify the presence of the SENTRY_AUTH_TOKEN SENTRY_ORG and SENTRY_PROJECT environment variable. |
| publish | Create release and deploy in sentry project. |
Install
npm i -D @eclass/semantic-release-sentry-releasesUsage
The plugin can be configured in the semantic-release configuration file:
{
"plugins": [
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git",
"@semantic-release/gitlab",
"@eclass/semantic-release-sentry-releases"
]
}Configuration
Environment variables
| Variable | Description |
| -------------------- | ----------------------------------------------------------------- |
| SENTRY_AUTH_TOKEN | The authentication token with permission for releases created in profile or as internal integration in develeoper seetings of organization. |
| SENTRY_ORG | The slug of the organization. |
| SENTRY_PROJECT | The slug of the project. |
| SENTRY_URL | The URL to use to connect to sentry. This defaults to https://sentry.io/. |
| DEPLOY_START | Sentry deploy start timestamp. Optional for deploy |
| DEPLOY_END | Sentry deploy end timestamp. Optional for deploy |
Options
| Variable | Description |
| --------- | ----------------------------------------------------------------- |
| project | The slug of the project. Optional. Required if not present in environment variables |
| org | The slug of the organization. Optional. Required if not present in environment variables |
| url | The URL to use to connect to sentry. Optional to set an on-premise instance |
| repositoryUrl | A valid repository name for add link to commits of new release. Optional. Ex: 'myorg / myapp'. Default repository property in package.json, or git origin url. |
| tagsUrl | A valid url for add link to new release. Optional. Ex: https://github.com/owner/repo/releases/tag/vx.y.z |
| environment | Sentry environment. Optional for deploy. Default production |
| deployName | Deploy name. Optional for deploy |
| deployUrl | Deploy url. Optional for deploy |
| sourcemaps | Directory with sourcemaps. Example dist. Optional for upload sourcemaps |
| urlPrefix | URL prefix for sourcemaps. Example ~/dist. Optional for upload sourcemaps |
| rewrite | Boolean to indicate rewrite sourcemaps. Default false. Optional for upload sourcemaps |
| releasePrefix| String that is passed as prefix to the sentry release. Optional to fix the problem that releases are associated with the organization instead of the project (Read More). Ex: releasePrefix:"web1" would resolve only the sentry release to web1-1.0.0. Important Notice: when you use this feature you also have to change the release name in your sentry client app. |
Examples
{
"plugins": [
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git",
"@semantic-release/gitlab",
[
"@eclass/semantic-release-sentry-releases",
{
"repositoryUrl": "myorg / myapp",
"tagsUrl": "https://github.com/owner/repo/releases/tag/"
}
]
]
}Upload sourcemaps
{
"plugins": [
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/git",
"@semantic-release/gitlab",
[
"@semantic-release/exec",
{
"prepareCmd": "npm run build"
}
],
[
"@eclass/semantic-release-sentry-releases",
{
"repositoryUrl": "myorg / myapp",
"tagsUrl": "https://github.com/owner/repo/releases/tag/",
"sourcemaps": "dist",
"urlPrefix": "~/dist"
}
]
]
}# .gitlab-ci.yml
release:
image: node:alpine
stage: release
script:
- npx semantic-release
only:
- master# .travis.yml
language: node_js
cache:
directories:
- ~/.npm
node_js:
- "12"
stages:
- test
- name: deploy
if: branch = master
jobs:
include:
- stage: test
script: npm t
- stage: deploy
script: npx semantic-release
