chore(deploy): exclude generated version.json from deploy dirty check
This commit is contained in:
@@ -85,7 +85,7 @@ curl -sk https://127.0.0.1:3443/version.json # версия собранно
|
||||
docker compose exec app md5sum /app/server.js # совпадает с md5sum server.js
|
||||
```
|
||||
|
||||
Версия сборки записывается в `public/version.json` внутри образа из аргументов `GIT_COMMIT` / `GIT_COMMIT_DATE` (`build.args` в `docker-compose.yml`, подставляет `scripts/deploy.sh`) и показывается в сайдбаре админки. Файл в git не хранится (`.gitignore`), локально его обновляет хук: `cp scripts/post-commit.sh .git/hooks/post-commit`. Если `/version.json` отдаёт 404 — образ собран без аргументов версии, нужна пересборка.
|
||||
Версия сборки записывается в `public/version.json` внутри образа из аргументов `GIT_COMMIT` / `GIT_COMMIT_DATE` (`build.args` в `docker-compose.yml`, подставляет `scripts/deploy.sh`) и показывается в сайдбаре админки — она всегда соответствует собранному коду, даже если файл в рабочей копии устарел. Локально файл обновляет хук: `cp scripts/post-commit.sh .git/hooks/post-commit`. Если образ собран без аргументов (`docker compose build` вместо `deploy.sh`), версия в сайдбаре будет пустой.
|
||||
|
||||
## Конфигурация
|
||||
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"full": "a95af7daa76d37fbb1c4f1e6dcf19175df0a66e0",
|
||||
"short": "a95af7d",
|
||||
"date": "2026-09-23T22:23:38+03:00"
|
||||
"full": "d943b77f585041cbb8ae8efed31cc3e326e1e140",
|
||||
"short": "d943b77",
|
||||
"date": "2026-09-23T23:01:36+03:00"
|
||||
}
|
||||
+6
-2
@@ -13,7 +13,7 @@ else
|
||||
fi
|
||||
|
||||
echo ">> Рабочая копия"
|
||||
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
|
||||
if [ -n "$(git status --porcelain --untracked-files=no -- . ':(exclude)public/version.json')" ]; then
|
||||
git status --short
|
||||
echo "Есть незакоммиченные изменения. Задайте DEPLOY_ALLOW_DIRTY=1, чтобы продолжить."
|
||||
[ "${DEPLOY_ALLOW_DIRTY:-0}" = "1" ] || exit 1
|
||||
@@ -43,7 +43,11 @@ else
|
||||
fi
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
echo ">> /version.json"
|
||||
curl -sk https://127.0.0.1:3443/version.json || true
|
||||
for _ in $(seq 1 20); do
|
||||
curl -skf --max-time 3 https://127.0.0.1:3443/version.json >/dev/null 2>&1 && break
|
||||
sleep 1
|
||||
done
|
||||
curl -sk --max-time 5 https://127.0.0.1:3443/version.json || echo "Не удалось получить /version.json (приложение ещё поднимается или образ собран без аргументов версии)"
|
||||
echo
|
||||
fi
|
||||
$DC ps
|
||||
|
||||
Reference in New Issue
Block a user