forked from wangbo/easyai
fix(release): 环境固定版本并拆分人工稳定版提升
This commit is contained in:
+9
-9
@@ -59,7 +59,10 @@ if ($args -contains "-h" -or $args -contains "--help") {
|
||||
Write-Host " UPDATE_SERVICES='easyai-server easyai-web model-conversion-worker'"
|
||||
Write-Host " 仅拉取并重建指定服务,不重建其依赖;留空保持整组更新。"
|
||||
Write-Host " UPDATE_RELEASE_VERSION=固定版本"
|
||||
Write-Host " 通过脚本固定核心服务和转换 Worker 的镜像版本,不提升 latest。"
|
||||
Write-Host " 将已选应用的固定版本持久化到 .env;latest 仅为人工稳定版。"
|
||||
Write-Host " UPDATE_SERVER_VERSION / UPDATE_WEB_VERSION / UPDATE_WORKER_VERSION=固定版本"
|
||||
Write-Host " UPDATE_GATEWAY_VERSION / UPDATE_UPDATER_VERSION / UPDATE_ASG_VERSION / UPDATE_AMS_VERSION=固定版本"
|
||||
Write-Host " 独立参数优先,只改变选中应用的版本。"
|
||||
Write-Host " UPDATE_NO_WAIT=1"
|
||||
Write-Host " 结束或失败时不等待按 Enter"
|
||||
Write-Host " UPDATE_HEALTH_TIMEOUT_SECONDS=秒数"
|
||||
@@ -201,6 +204,8 @@ if (-not (Test-Path ".env")) { Write-Err "未找到 .env,请先执行 start.ps
|
||||
# 每次更新都执行版本化、幂等的环境配置迁移;已有非空自定义值保持不变。
|
||||
. (Join-Path $scriptDir "scripts\Initialize-SecurityEnv.ps1")
|
||||
$environmentPath = Join-Path $scriptDir ".env"
|
||||
. (Join-Path $scriptDir "scripts/Initialize-ApplicationVersions.ps1")
|
||||
try { $applicationVersionPlan = @(Get-ApplicationVersionPlan -Path $environmentPath) } catch { Write-Err $_.Exception.Message }
|
||||
$environmentContent = Get-Content $environmentPath -Raw -Encoding UTF8
|
||||
if (-not (Get-EnvValue $environmentContent "SYSTEM_UPDATE_MODE")) {
|
||||
& docker inspect easyai-server *> $null
|
||||
@@ -222,14 +227,7 @@ 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)"
|
||||
}
|
||||
Set-ApplicationVersions -Path $environmentPath -Plan $applicationVersionPlan
|
||||
|
||||
# 在更新镜像和重建服务前迁移并校验后端公开 API 地址。
|
||||
. (Join-Path $scriptDir "scripts\Initialize-PublicApiBaseUrl.ps1")
|
||||
@@ -372,6 +370,8 @@ if (-not [string]::IsNullOrWhiteSpace($env:UPDATE_SERVICES)) {
|
||||
if ($availableServices -notcontains $service) { Write-Err "更新服务不存在: $service;尚未拉取或重建任何服务" }
|
||||
}
|
||||
}
|
||||
$composeCommand = if ($hasComposeV2) { @("docker","compose") } else { @("docker-compose") }
|
||||
try { Test-ApplicationVersionImages -Plan $applicationVersionPlan -ComposeCommand $composeCommand } catch { Write-Err $_.Exception.Message }
|
||||
$upArguments = @("up", "-d")
|
||||
if ($updateServices.Count -gt 0) { $upArguments += @("--no-deps") + $updateServices }
|
||||
if ($updateServices.Count -eq 0 -or $updateServices -contains "redis") {
|
||||
|
||||
Reference in New Issue
Block a user