diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4878a1d5..8e683cff 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -102,11 +102,18 @@ jobs: git fetch origin main git reset --hard origin/main - # Sentry release tracking — записываем git-sha в .env.runtime - # (отдельный файл, чтобы не трогать ручной .env с секретами). - # backend/worker/beat подхватывают его через env_file (см. compose). + # Sentry release tracking — записываем git-sha в .env.runtime. + # ВАЖНО: НЕ перезаписываем файл целиком (там могут быть + # COUCHDB_PASSWORD и др. user-managed secrets). Заменяем только + # строку SENTRY_RELEASE или добавляем если её нет. mkdir -p backend - printf 'SENTRY_RELEASE=%s\n' "$IMAGE_TAG" > backend/.env.runtime + touch backend/.env.runtime + if grep -q '^SENTRY_RELEASE=' backend/.env.runtime; then + sed -i "s|^SENTRY_RELEASE=.*|SENTRY_RELEASE=$IMAGE_TAG|" backend/.env.runtime + else + printf 'SENTRY_RELEASE=%s\n' "$IMAGE_TAG" >> backend/.env.runtime + fi + chmod 600 backend/.env.runtime # Создать external network если её нет (нужна Caddy для маршрута # obsidian.gendsgn.ru → couchdb из отдельного obsidian-stack).