Sentry release + bundle-id¶
TL;DR
Auto-stamp <service>:version u Sentry na deploy success.
EAS servisi imaju i bundle-id placeholder za mobile ({bundle_id}).
SENTRY_BUNDLE_ID_OVERRIDE Make var overriduje {bundle_id},
NE toggle-uje stampanje. Stamp je observability, ne gate — failure
NE aborta deploy.
Šta se radi¶
Na deploy success:
- Formiraj
release_nameiz template-a. sentry-cli releases new <release_name>.sentry-cli releases set-commits <release_name> --auto.- (EAS)
sentry-cli releases finalize <release_name>.
Release name ide u Sentry kao "tražena verzija" — Sentry group-uje sve issue-ove za tu verziju, omogućava regression tracking.
Template¶
{
"services": {
"api": {
"release_name_template": "{service}@{version}"
},
"mobile": {
"release_name_template": "{service}@{version}+{bundle_id}"
}
}
}
Placeholder-i:
{service}— servis ime izservices.json{version}— semver izci-state.json{bundle_id}— EAS bundle ID (mobile); overridable
Sentry konfiguracija¶
{
"observability": {
"sentry": {
"enabled": true,
"stamp": {
"auto": true,
"finalize_on_deploy": true
},
"by_environment": {
"production": { "environment": "production" },
"staging": { "environment": "staging" }
}
}
}
}
enabled: true— Sentry SDK se inkludira u image.stamp.auto: true— auto-stamp na deploy success.stamp.finalize_on_deploy: true— finaliziraj release odmah. Za mobilne, bez ovoga release ostaje "open" dok se app ne pošalje na store.by_environment(v18+) — per-env override.
Bundle ID override¶
Rezultat: {bundle_id} u template-u postaje custom-bundle-123.
NE radi:
- ❌
SENTRY_BUNDLE_ID_OVERRIDE=true(boolean) — override JESTE override vrijednost, ne toggle. - ❌
SENTRY_BUNDLE_ID_OVERRIDE=""(prazno) — koristi prazno umjesto pravog bundle-id; Sentry će grupisati sve u isti release.
Failure handling¶
# ci/sentry/mobile_stamp.py (i deploy.py za ostale)
try:
sentry_release_set_commits(...)
sentry_release_finalize(...)
except VendorAuthError:
log.warning("Sentry stamp failed: auth")
# NE aborta deploy
except Exception:
log.warning("Sentry stamp failed: transient")
# NE aborta deploy
Sentry stamp je observability, NE gate. Ako Sentry padne, deploy se smatra uspješnim. Log warning + nastavi.
Izuzeci:
VendorAuthError(token loš) — fail-loud sa log warning, retry ne pomaže.- Network/5xx — log warning, retry na sljedećem deploy-u.
Kada NE raditi stamp¶
observability.sentry.enabled: false— kompletno preskoči.stamp.auto: false— preskoči stamp (ali release JESTE kreiran u Sentry akoenabled: true).failure_policy: strictservis + stamp fail — odluka servisa. Default jesoft(ne aborta).
Vidi i¶
02-verbs/04-deploy-eas.md— EAS deploy + auto-stamp02-verbs/02-deploy-coolify.md02-verbs/03-deploy-ecs.mdci/sentry/CLAUDE.md— operativna dokumentacija