d3f1e95711
Complète le branchement Sentry/GlitchTip côté déploiement pour que le front reçoive son DSN et uploade ses source maps en prod. - infra/prod/Dockerfile (stage frontend-build) : ARG NUXT_PUBLIC_SENTRY_DSN + SENTRY_URL/ORG/PROJECT/AUTH_TOKEN, passés en préfixe inline du RUN npm run generate (pas en ENV → token non persisté ; stage intermédiaire jeté de toute façon). Vides par défaut => module Sentry inerte, pas d'upload. - .gitea/workflows/build-docker.yml : --build-arg depuis les secrets Gitea (INVENTORY_SENTRY_DSN_FRONT, SENTRY_URL, SENTRY_ORG, SENTRY_PROJECT, SENTRY_AUTH_TOKEN). - infra/prod/.env.example : documente SENTRY_DSN (back, runtime). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
36 lines
1.2 KiB
YAML
36 lines
1.2 KiB
YAML
name: Build & Push Docker Image
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Login to Gitea Registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.malio.fr -u "${{ gitea.repository_owner }}" --password-stdin
|
|
|
|
- name: Build Docker image
|
|
run: |
|
|
docker build \
|
|
-f infra/prod/Dockerfile \
|
|
--build-arg NUXT_PUBLIC_SENTRY_DSN="${{ secrets.INVENTORY_SENTRY_DSN_FRONT }}" \
|
|
--build-arg SENTRY_URL="${{ secrets.SENTRY_URL }}" \
|
|
--build-arg SENTRY_ORG="${{ secrets.SENTRY_ORG }}" \
|
|
--build-arg SENTRY_PROJECT="${{ secrets.SENTRY_PROJECT }}" \
|
|
--build-arg SENTRY_AUTH_TOKEN="${{ secrets.SENTRY_AUTH_TOKEN }}" \
|
|
-t gitea.malio.fr/malio-dev/inventory:${{ gitea.ref_name }} \
|
|
-t gitea.malio.fr/malio-dev/inventory:latest \
|
|
.
|
|
|
|
- name: Push Docker image
|
|
run: |
|
|
docker push gitea.malio.fr/malio-dev/inventory:${{ gitea.ref_name }}
|
|
docker push gitea.malio.fr/malio-dev/inventory:latest
|