fix(deploy): 兼容旧配置迁移并支持固定版本验收
Test deployment public URL (Linux) / test-linux (push) Canceled after 0s
Test start.ps1 (Windows) / test-windows (push) Canceled after 0s

This commit is contained in:
2026-10-03 07:56:12 +08:00
parent c252a2f9ad
commit e29d203bb7
6 changed files with 341 additions and 1 deletions
+14
View File
@@ -58,6 +58,8 @@ if ($args -contains "-h" -or $args -contains "--help") {
Write-Host " false 等同 UPDATE_MODE=full"
Write-Host " UPDATE_SERVICES='easyai-server easyai-web model-conversion-worker'"
Write-Host " 仅拉取并重建指定服务,不重建其依赖;留空保持整组更新。"
Write-Host " UPDATE_RELEASE_VERSION=固定版本"
Write-Host " 通过脚本固定核心服务和转换 Worker 的镜像版本,不提升 latest。"
Write-Host " UPDATE_NO_WAIT=1"
Write-Host " 结束或失败时不等待按 Enter"
Write-Host " UPDATE_HEALTH_TIMEOUT_SECONDS=秒数"
@@ -131,6 +133,10 @@ function Resolve-UpdateMode {
$skipRepoUpdate = Resolve-UpdateMode
if ($env:UPDATE_RELEASE_VERSION -and $env:UPDATE_RELEASE_VERSION -notmatch '^\d+\.\d+\.\d+\.\d{8}(\.\d+)?$') {
Write-Err "UPDATE_RELEASE_VERSION 格式不正确;尚未修改配置或容器"
}
# ==================== 拉取仓库 ====================
if (-not $skipRepoUpdate) {
Write-Host ""
@@ -215,6 +221,14 @@ Initialize-ServerHttpBindIp -Path (Join-Path $scriptDir ".env")
. (Join-Path $scriptDir "scripts\Initialize-SecurityEnv.ps1")
Initialize-SecurityEnv -Path (Join-Path $scriptDir ".env") -Mode "upgrade"
if ($env:UPDATE_RELEASE_VERSION) {
$environmentPath = Join-Path $scriptDir ".env"
$environmentContent = Get-Content -Raw -Encoding UTF8 $environmentPath
$environmentContent = Set-EnvValue $environmentContent "VERSION" $env:UPDATE_RELEASE_VERSION
$environmentContent = Set-EnvValue $environmentContent "MODEL_CONVERSION_WORKER_VERSION" $env:UPDATE_RELEASE_VERSION
[System.IO.File]::WriteAllText($environmentPath, $environmentContent, (New-Object System.Text.UTF8Encoding $false))
Write-Step "📌 已固定本次发布版本: $($env:UPDATE_RELEASE_VERSION)"
}
# 在更新镜像和重建服务前迁移并校验后端公开 API 地址。
. (Join-Path $scriptDir "scripts\Initialize-PublicApiBaseUrl.ps1")