53 lines
1.8 KiB
PowerShell
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
|
|
}
|