From b7f7604a231e8ff5a52284d40f4c68670b8dc3b9 Mon Sep 17 00:00:00 2001 From: bujie9527 Date: Thu, 5 Feb 2026 22:59:48 +0800 Subject: [PATCH] Fix release configuration and add PowerShell build script Co-authored-by: Cursor --- docker-compose.release.yml | 2 -- scripts/build_and_push.ps1 | 74 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 scripts/build_and_push.ps1 diff --git a/docker-compose.release.yml b/docker-compose.release.yml index 00e8fd4..71c9a5d 100644 --- a/docker-compose.release.yml +++ b/docker-compose.release.yml @@ -26,5 +26,3 @@ services: context: ./deploy/nginx dockerfile: Dockerfile image: registry.667788.cool/wecom-nginx:${TAG:-latest} - tags: - - registry.667788.cool/wecom-nginx:${TAG:-latest} diff --git a/scripts/build_and_push.ps1 b/scripts/build_and_push.ps1 new file mode 100644 index 0000000..792d57f --- /dev/null +++ b/scripts/build_and_push.ps1 @@ -0,0 +1,74 @@ +# 构建并推送 Docker 镜像到私有 Registry (PowerShell 版本) +# 用途:构建 backend、admin、nginx 镜像并推送到 registry.667788.cool +# 使用: .\scripts\build_and_push.ps1 [TAG] +# 示例: .\scripts\build_and_push.ps1 v1.0.0 + +param( + [string]$Tag = "latest" +) + +$Registry = "registry.667788.cool" + +Write-Host "=== 构建并推送 Docker 镜像 ===" -ForegroundColor Cyan +Write-Host "" +Write-Host "Registry: $Registry" -ForegroundColor Gray +Write-Host "Tag: $Tag" -ForegroundColor Gray +Write-Host "" + +# 检查 docker compose 命令 +$dockerComposeCmd = $null +if (Get-Command docker-compose -ErrorAction SilentlyContinue) { + $dockerComposeCmd = "docker-compose" +} elseif (docker compose version 2>$null) { + $dockerComposeCmd = "docker compose" +} else { + Write-Host "错误: 未找到 docker-compose 或 docker compose 命令" -ForegroundColor Red + exit 1 +} + +# 登录 registry +Write-Host "1. 登录 registry..." -ForegroundColor Yellow +docker login $Registry +if ($LASTEXITCODE -ne 0) { + Write-Host "✗ 登录失败,请检查凭据" -ForegroundColor Red + exit 1 +} +Write-Host "✓ 登录成功" -ForegroundColor Green +Write-Host "" + +# 构建镜像 +Write-Host "2. 构建镜像..." -ForegroundColor Yellow +$env:TAG = $Tag +if ($dockerComposeCmd -eq "docker-compose") { + docker-compose -f docker-compose.release.yml build +} else { + docker compose -f docker-compose.release.yml build +} +if ($LASTEXITCODE -ne 0) { + Write-Host "✗ 构建失败" -ForegroundColor Red + exit 1 +} +Write-Host "✓ 构建成功" -ForegroundColor Green +Write-Host "" + +# 推送镜像 +Write-Host "3. 推送镜像..." -ForegroundColor Yellow +if ($dockerComposeCmd -eq "docker-compose") { + docker-compose -f docker-compose.release.yml push +} else { + docker compose -f docker-compose.release.yml push +} +if ($LASTEXITCODE -ne 0) { + Write-Host "✗ 推送失败" -ForegroundColor Red + exit 1 +} +Write-Host "✓ 推送成功" -ForegroundColor Green +Write-Host "" + +Write-Host "=== 完成 ✅ ===" -ForegroundColor Green +Write-Host "" +Write-Host "镜像已推送到:" -ForegroundColor Cyan +Write-Host " - $Registry/wecom-backend:$Tag" -ForegroundColor Gray +Write-Host " - $Registry/wecom-admin:$Tag" -ForegroundColor Gray +Write-Host " - $Registry/wecom-nginx:$Tag" -ForegroundColor Gray +Write-Host ""