앱 버전 갱신문제

This commit is contained in:
Macbook
2026-06-14 19:49:40 +09:00
parent ad6347f2a2
commit ac2b0eb7f1
7 changed files with 180 additions and 30 deletions
+10
View File
@@ -46,6 +46,16 @@ if [[ "$BUILD_WIN" -eq 1 ]]; then
fi
CONF="$ROOT/desktop/src-tauri/tauri.conf.json"
# CI: 매 Jenkins 빌드마다 patch 버전 bump (git tauri.conf 0.1.4 고정이어도 산출물 버전 증가)
if [[ -z "${BUMP_VERSION:-}" ]] && [[ "${DESKTOP_BUMP_ON_CI:-1}" == "1" ]] \
&& [[ -n "${BUILD_NUMBER:-}${DESKTOP_AUTO_BUMP:-}" ]]; then
chmod +x "$ROOT/scripts/bump-desktop-version-from-release.sh"
export WORK_TREE="$ROOT"
BUMPED="$("$ROOT/scripts/bump-desktop-version-from-release.sh")"
echo "Desktop CI version bump → $BUMPED"
fi
if [[ -n "$BUMP_VERSION" ]]; then
node -e "
const fs=require('fs'); const p=process.argv[1]; const b=process.argv[2];
+10 -1
View File
@@ -8,6 +8,7 @@ CONF="${WORK_TREE}/desktop/src-tauri/tauri.conf.json"
LATEST="${WORK_TREE}/frontend/public/desktop/updates/latest.json"
UPDATES_DIR="${WORK_TREE}/frontend/public/desktop/updates"
BUILD_INFO="${WORK_TREE}/dist-desktop/build-info.json"
RELEASE_DIR="${WORK_TREE}/data/desktop-releases"
node -e "
const fs = require('fs');
@@ -16,6 +17,7 @@ const confPath = process.argv[1];
const latestPath = process.argv[2];
const updatesDir = process.argv[3];
const buildInfoPath = process.argv[4];
const releaseDir = process.argv[5];
const parse = v => String(v || '0.0.0').trim().replace(/^v/i, '').split('.').map(n => parseInt(n, 10) || 0);
const cmp = (a, b) => {
@@ -53,6 +55,13 @@ if (fs.existsSync(updatesDir)) {
}
}
if (releaseDir && fs.existsSync(releaseDir)) {
for (const name of fs.readdirSync(releaseDir)) {
const m = name.match(/GoldenChart[_-](\\d+\\.\\d+\\.\\d+)/i);
if (m) base = maxVer(base, m[1]);
}
}
const parts = parse(base);
while (parts.length < 3) parts.push(0);
parts[2] += 1;
@@ -66,4 +75,4 @@ try {
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
} catch { /* ignore */ }
console.log(nv);
" "$CONF" "$LATEST" "$UPDATES_DIR" "$BUILD_INFO"
" "$CONF" "$LATEST" "$UPDATES_DIR" "$BUILD_INFO" "$RELEASE_DIR"
+1 -5
View File
@@ -44,12 +44,8 @@ if [[ -n "${DESKTOP_BUILD_MAC_ONLY:-}" ]]; then BUILD_ARGS=(--mac); fi
if [[ -n "${DESKTOP_BUILD_WIN_ONLY:-}" ]]; then BUILD_ARGS=(--win); fi
if [[ -n "${BUMP_VERSION:-}" ]]; then
BUILD_ARGS+=(--bump-version "$BUMP_VERSION")
elif [[ -n "${BUILD_NUMBER:-}" && "${DESKTOP_BUMP_ON_CI:-1}" == "1" ]]; then
log "CI patch bump (latest.json 기준)..."
chmod +x "$ROOT/scripts/bump-desktop-version-from-release.sh"
NEW_VER="$("$ROOT/scripts/bump-desktop-version-from-release.sh")"
log "Desktop version → $NEW_VER"
fi
# 버전 bump 는 scripts/build-desktop.sh (CI BUILD_NUMBER) 에서 처리
"$ROOT/scripts/build-desktop.sh" "${BUILD_ARGS[@]}"
+5
View File
@@ -38,11 +38,16 @@ mkdir -p "$WEB_STATIC_DIR"
# 설치 파일(dist-desktop/*.dmg, *setup.exe) 복사 — nginx static + backend API 디렉터리
if [[ -d "$ARTIFACT_DIR" ]]; then
mkdir -p "$DESKTOP_RELEASE_DIR"
# 구버전 설치 파일 제거 (Windows exe 0.1.3 잔존 등 방지)
find "$DESKTOP_RELEASE_DIR" -maxdepth 1 -type f \( -name 'GoldenChart_*.dmg' -o -name 'GoldenChart_*setup.exe' -o -name 'GoldenChart_*-setup.exe' \) -delete 2>/dev/null || true
find "$ARTIFACT_DIR" -maxdepth 1 -type f \( -name '*.dmg' -o -name '*setup.exe' \) | while read -r f; do
cp -f "$f" "$WEB_STATIC_DIR/"
cp -f "$f" "$DESKTOP_RELEASE_DIR/"
log "Installer: $(basename "$f")"
done
if [[ -f "$BUILD_INFO" ]]; then
cp -f "$BUILD_INFO" "$DESKTOP_RELEASE_DIR/build-info.json"
fi
fi
PUBLISH_UPDATES="$WEB_STATIC_DIR"