터치로 전략컨트롤 동작
This commit is contained in:
@@ -18,7 +18,6 @@ log "WORK_TREE=$WORK_TREE"
|
||||
|
||||
cd "$WORK_TREE"
|
||||
|
||||
# Git 동기화 (checkout → git 에 기록된 semver 그대로 빌드)
|
||||
GIT_DIR="${GIT_DIR:-/Volumes/ADATA/git/goldenChart.git}"
|
||||
if [[ -d "$GIT_DIR" ]]; then
|
||||
if git --git-dir="$GIT_DIR" remote get-url origin >/dev/null 2>&1; then
|
||||
@@ -27,15 +26,20 @@ if [[ -d "$GIT_DIR" ]]; then
|
||||
git --git-dir="$GIT_DIR" --work-tree="$WORK_TREE" checkout -f main 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Jenkins SCM workspace 가 있으면 scripts 를 WORK_TREE 로 동기 (구 스크립트 방지)
|
||||
if [[ -n "${WORKSPACE:-}" && -d "${WORKSPACE}/scripts" && "${WORKSPACE}" != "$WORK_TREE" ]]; then
|
||||
log "Sync scripts: ${WORKSPACE}/scripts → ${WORK_TREE}/scripts"
|
||||
rsync -a "${WORKSPACE}/scripts/" "${WORK_TREE}/scripts/" 2>/dev/null \
|
||||
|| cp -f "${WORKSPACE}/scripts/"*.sh "${WORK_TREE}/scripts/" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
chmod +x "$WORK_TREE/scripts/"*.sh 2>/dev/null || true
|
||||
|
||||
# 의존성 (최초 1회 — 이미 있으면 빠르게 통과)
|
||||
if ! command -v cargo-xwin >/dev/null 2>&1 || ! command -v rustc >/dev/null 2>&1; then
|
||||
log "Desktop build deps 설치..."
|
||||
"$WORK_TREE/scripts/install-desktop-build-deps.sh"
|
||||
fi
|
||||
|
||||
# updater pubkey (repo에 desktop/updater.pub 있으면 patch만)
|
||||
if [[ -f "$WORK_TREE/desktop/updater.pub" ]]; then
|
||||
"$WORK_TREE/scripts/patch-tauri-updater-pubkey.sh"
|
||||
elif [[ -f "${TAURI_SIGNER_KEY:-$HOME/.tauri/goldenchart.key}" ]]; then
|
||||
@@ -54,47 +58,33 @@ export BUILD_NUMBER="${BUILD_NUMBER:-}"
|
||||
export DESKTOP_UPDATE_BASE_URL="${DESKTOP_UPDATE_BASE_URL:-https://exdev.co.kr/desktop/updates}"
|
||||
|
||||
GIT_VER="$(node -p "require('$WORK_TREE/desktop/src-tauri/tauri.conf.json').version" 2>/dev/null || echo '?')"
|
||||
log "Desktop git version: v${GIT_VER}"
|
||||
|
||||
# 매 Jenkins 빌드마다 published latest + git 중 max → +1 (동일 버전 재빌드 방지)
|
||||
if [[ -z "${BUMP_VERSION:-}" ]] && [[ "${DESKTOP_BUMP_ON_CI:-1}" == "1" ]]; then
|
||||
log "CI Desktop version bump (published latest + git → +1 patch)..."
|
||||
BUMPED="$("$WORK_TREE/scripts/bump-desktop-version-from-release.sh")"
|
||||
export DESKTOP_SKIP_VERSION_BUMP=1
|
||||
log "Desktop build version → v${BUMPED}"
|
||||
else
|
||||
export DESKTOP_SKIP_VERSION_BUMP=1
|
||||
BUMPED="$GIT_VER"
|
||||
log "Desktop version bump skipped — using git v${BUMPED}"
|
||||
fi
|
||||
log "Desktop git tauri.conf: v${GIT_VER}"
|
||||
log "semver bump → build-desktop.sh 시작 시 자동 실행 (bump-desktop-version-before-build.sh)"
|
||||
|
||||
"$WORK_TREE/scripts/build-desktop.sh" "${BUILD_ARGS[@]}"
|
||||
|
||||
BUILT_VER="$(node -p "require('$WORK_TREE/dist-desktop/build-info.json').version" 2>/dev/null || echo '?')"
|
||||
log "Built version: v${BUILT_VER}"
|
||||
|
||||
WORK_TREE="$WORK_TREE" \
|
||||
ARTIFACT_DIR="$WORK_TREE/dist-desktop" \
|
||||
DESKTOP_UPDATE_BASE_URL="${DESKTOP_UPDATE_BASE_URL:-https://exdev.co.kr/desktop/updates}" \
|
||||
TAURI_SIGNER_KEY="${TAURI_SIGNER_KEY:-$HOME/.tauri/goldenchart.key}" \
|
||||
DESKTOP_RELEASE_NOTES="${DESKTOP_RELEASE_NOTES:-Build ${BUILD_NUMBER:-local}}" \
|
||||
DESKTOP_RELEASE_NOTES="${DESKTOP_RELEASE_NOTES:-Build ${BUILD_NUMBER:-local} v${BUILT_VER}}" \
|
||||
"$WORK_TREE/scripts/publish-desktop-update.sh"
|
||||
|
||||
# latest.json·설치 파일 nginx 즉시 반영 (볼륨 마운트)
|
||||
if [[ -x "$WORK_TREE/scripts/reload-frontend-desktop-static.sh" ]]; then
|
||||
WORK_TREE="$WORK_TREE" "$WORK_TREE/scripts/reload-frontend-desktop-static.sh" || true
|
||||
fi
|
||||
|
||||
# Jenkins artifact archive 경로
|
||||
if [[ -d "$WORK_TREE/dist-desktop" ]]; then
|
||||
log "Artifacts ready: $WORK_TREE/dist-desktop"
|
||||
fi
|
||||
|
||||
# 웹 frontend Docker 재배포 (latest.json static 포함) — 선택
|
||||
if [[ "${DESKTOP_DEPLOY_WEB:-0}" == "1" ]] && [[ -x "${DEPLOY_SCRIPT:-/Volumes/ADATA/git/deploy.sh}" ]]; then
|
||||
log "Trigger web deploy (frontend only)..."
|
||||
SERVICE_NAME=frontend "${DEPLOY_SCRIPT:-/Volumes/ADATA/git/deploy.sh}"
|
||||
fi
|
||||
|
||||
log "Pipeline complete."
|
||||
log "Published target: ${DESKTOP_UPDATE_BASE_URL:-https://exdev.co.kr/desktop/updates}/latest.json"
|
||||
if [[ -f "$WORK_TREE/dist-desktop/build-info.json" ]]; then
|
||||
log "build-info: $(cat "$WORK_TREE/dist-desktop/build-info.json" 2>/dev/null | tr -d '\n' | head -c 200)"
|
||||
fi
|
||||
log "Pipeline complete — v${BUILT_VER}"
|
||||
log "Published: ${DESKTOP_UPDATE_BASE_URL}/latest.json"
|
||||
|
||||
Reference in New Issue
Block a user