MEDIABROWSER 배포 사이트 + 공개 릴리스 저장소 전환 (DEPLOYMENT_PLAN §5-ter, BACKLOG 12차) — site/: 프로모션(라이트 글래스모피즘, CSS scroll-driven 패럴랙스+IO 등장, 모션·투명도 축소 존중, no-JS 백지 방지 html.js 게이트)·릴리스(플랫폼 그룹, OS 자동 감지 권장, 이전 버전 접힘, 빈 상태)·사용 안내(설치→첫 다운로드→관리→휴대폰 연결→FAQ) 3페이지. 히어로/가이드 이미지는 VD_DATA_DIR 격리 프로필로 띄운 실제 앱 다운로드 패널 캡처(밝기 보정). 릴리스 데이터는 CORS 회피를 위해 배포 시 fetch-releases.mjs 가 releases.json 으로 정적 생성(git 무시). 공개 저장소 Video-Downloader/releases 신설(비공개 소스 저장소는 자산 익명 다운로드 불가) — CI 업로드를 env RELEASE_REPO 로 전환, draft 익명 비노출이라 QA 후 Publish 흐름 유지. build/deploy-site.ps1(wrangler pages deploy) 추가, 라이브: https://mediabrowser-7r4.pages.dev — Playwright 로 3페이지 전수 스크린샷 검증(빈 상태+샘플 데이터 렌더 포함)

This commit is contained in:
Yun Chan 2026-08-18 00:14:39 +09:00
parent b536622606
commit c8b061959b
15 changed files with 923 additions and 2 deletions

29
build/deploy-site.ps1 Normal file
View file

@ -0,0 +1,29 @@
# MEDIABROWSER 사이트(site/)를 Cloudflare Pages 에 배포한다.
# 사용: ./build/deploy-site.ps1 [-Project mediabrowser]
# 필요: .env 의 CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID · node/npx(wrangler)
# 절차: 공개 릴리스 저장소에서 releases.json 생성 → wrangler pages deploy
param([string]$Project = "mediabrowser")
$ErrorActionPreference = "Stop"
$root = Split-Path -Parent $PSScriptRoot
# .env 로드 (값은 출력하지 않는다)
$envFile = Join-Path $root ".env"
if (-not (Test-Path $envFile)) { throw ".env 가 없습니다. .env.example 을 복사해 채우세요." }
foreach ($line in Get-Content $envFile) {
if ($line -match '^\s*(CLOUDFLARE_API_TOKEN|CLOUDFLARE_ACCOUNT_ID)\s*=\s*(.+)$') {
Set-Item "env:$($Matches[1])" $Matches[2].Trim()
}
}
if (-not $env:CLOUDFLARE_API_TOKEN) { throw ".env 에 CLOUDFLARE_API_TOKEN 이 없습니다." }
if (-not $env:CLOUDFLARE_ACCOUNT_ID) { throw ".env 에 CLOUDFLARE_ACCOUNT_ID 가 없습니다." }
Write-Host "1) releases.json 생성" -ForegroundColor Cyan
node (Join-Path $root "site\fetch-releases.mjs")
if ($LASTEXITCODE -ne 0) { throw "releases.json 생성 실패" }
Write-Host "2) Cloudflare Pages 배포 ($Project)" -ForegroundColor Cyan
npx wrangler pages deploy (Join-Path $root "site") --project-name $Project --branch main --commit-dirty=true
if ($LASTEXITCODE -ne 0) { throw "wrangler 배포 실패" }
Write-Host "완료: https://$Project.pages.dev" -ForegroundColor Green