#!/usr/bin/env bash # ============================================================================= # Build + sobe o ambiente de DEV (porta 8020 / dev.scoreodonto.com) carimbando # a VERSÃO a partir do git — para que /api/version (e o rótulo no app) deixe de # mostrar apenas "dev". # # Uso (NA VPS): ./dev-build.sh # # Diferença p/ produção: a prod consome imagem versionada e injeta a tag em # runtime (deploy-prod.sh). Em DEV buildamos local, então derivamos a versão do # git AQUI (no host, onde o .git existe) e passamos como build-args do compose. # ============================================================================= set -euo pipefail cd "$(dirname "$0")" export DOCKER_HOST=unix:///run/user/1000/docker.sock # Versão semântica + commit + carimbo de build, derivados do git. # APP_VERSION -> ex.: v1.0.18-16-g6adf353 (tag mais próxima + distância + sha) # GIT_COMMIT -> sha curto export APP_VERSION="$(git describe --tags --always --dirty 2>/dev/null || echo dev)" export GIT_COMMIT="$(git rev-parse --short HEAD 2>/dev/null || echo dev)" export BUILD_TIME="$(date -u +%Y-%m-%dT%H:%M:%SZ)" export APP_ENV="DEV" echo "──────────────────────────────────────────────────────────────" echo " Build ScoreOdonto → DEV (porta 8020)" echo " APP_VERSION = $APP_VERSION" echo " GIT_COMMIT = $GIT_COMMIT" echo " BUILD_TIME = $BUILD_TIME" echo "──────────────────────────────────────────────────────────────" docker compose up -d --build scoreodonto-backend scoreodonto-frontend nginx echo echo -n " versão no ar (DEV): " sleep 8 curl -s --max-time 10 http://localhost:8020/api/version || echo "(ainda subindo — confira em alguns segundos)" echo echo "✅ DEV buildado com versão carimbada."