feat(sentry): add Sentry DSN to CI/CD build process

- Add NEXT_PUBLIC_SENTRY_DSN to CI/CD workflows (build-time injection)
- Add SENTRY_DSN build arg to web Dockerfile
- Sentry Self-Hosted deployed on 192.168.0.110:9000
- GeoIP database configured (MaxMind GeoLite2-City 61MB)
- awoooi-web project: http://da02...@192.168.0.110:9000/2
- awoooi-api project: http://8c4a...@192.168.0.110:9000/3

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-24 15:33:36 +08:00
parent 9bff46a1b0
commit e25d7bd13f
3 changed files with 4 additions and 0 deletions

View File

@@ -143,6 +143,7 @@ jobs:
docker build \
--push \
--build-arg NEXT_PUBLIC_API_URL=https://awoooi.wooo.work \
--build-arg NEXT_PUBLIC_SENTRY_DSN=http://da02d4e5d6542e4d1ed6b2dd6542efeb@192.168.0.110:9000/2 \
--tag ${{ env.REGISTRY }}/${{ env.IMAGE_PREFIX }}-web:${{ steps.tag.outputs.tag }} \
--file apps/web/Dockerfile \
.

View File

@@ -136,6 +136,7 @@ jobs:
env:
# Next.js 需要 NEXT_PUBLIC_* 在 build-time (統帥鐵律)
NEXT_PUBLIC_API_URL: https://awoooi.wooo.work
NEXT_PUBLIC_SENTRY_DSN: http://da02d4e5d6542e4d1ed6b2dd6542efeb@192.168.0.110:9000/2
run: pnpm turbo build
- name: Upload build artifacts

View File

@@ -31,7 +31,9 @@ COPY . .
# Build-time environment variables (NEXT_PUBLIC_* 會被打包進 JS)
ARG NEXT_PUBLIC_API_URL=http://localhost:8000
ARG NEXT_PUBLIC_SENTRY_DSN=
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
ENV NEXT_PUBLIC_SENTRY_DSN=${NEXT_PUBLIC_SENTRY_DSN}
ENV NEXT_TELEMETRY_DISABLED=1
RUN pnpm turbo build --filter=@awoooi/web