furniture-3d-system-Wu/furniture-3d-system/scripts/package-wyj-test-deploy.ps1
2026-04-08 09:51:01 +08:00

53 lines
1.8 KiB
PowerShell

$ErrorActionPreference = 'Stop'
$repoRoot = Split-Path -Parent $PSScriptRoot
$defaultOutput = 'D:\tmp-codex\deploy-furniture-wyj-test-20260407-181637.tar.gz'
$outputPath = if ($args.Count -gt 0 -and $args[0]) { $args[0] } else { $defaultOutput }
$outputDir = Split-Path -Parent $outputPath
if (-not (Test-Path $outputDir)) {
New-Item -ItemType Directory -Path $outputDir | Out-Null
}
$excludeArgs = @(
"--exclude=furniture-3d-system/node_modules",
"--exclude=furniture-3d-system/.next",
"--exclude=furniture-3d-system/.git",
"--exclude=furniture-3d-system/.planning",
"--exclude=furniture-3d-system/.codex",
"--exclude=furniture-3d-system/test-results",
"--exclude=furniture-3d-system/local-packages",
"--exclude=furniture-3d-system/backups",
"--exclude=furniture-3d-system/temp",
"--exclude=furniture-3d-system/temp-test",
"--exclude=furniture-3d-system/test-html",
"--exclude=furniture-3d-system/tests",
"--exclude=furniture-3d-system/docs",
"--exclude=furniture-3d-system/.cursor",
"--exclude=furniture-3d-system/.swc",
"--exclude=furniture-3d-system/.env",
"--exclude=furniture-3d-system/.env.test",
"--exclude=furniture-3d-system/.dev-*.log",
"--exclude=furniture-3d-system/.next-dev*.log",
"--exclude=furniture-3d-system/coverage",
"--exclude=furniture-3d-system/furniture-3d-system"
)
if (Test-Path $outputPath) {
Remove-Item -LiteralPath $outputPath -Force
}
& tar @excludeArgs -czf $outputPath -C (Split-Path -Parent $repoRoot) furniture-3d-system
if ($LASTEXITCODE -ne 0) {
throw "部署包生成失败: $outputPath"
}
$archive = Get-Item -LiteralPath $outputPath
[pscustomobject]@{
Archive = $archive.FullName
SizeBytes = $archive.Length
SizeMB = [math]::Round($archive.Length / 1MB, 2)
UpdatedAt = $archive.LastWriteTime
}