Admin 目前每次发布都由开发者临时组合 Git 导出、Go 交叉编译、上传、备份、独立端口预检、原子切换和回退命令。步骤已经在多次部署工单中验证,但没有仓库内可复用脚本,容易遗漏固定提交构建、凭据排除、后台任务空闲复核或失败回退。
目标是在项目合适目录提供一个可直接运行、面向当前生产环境的部署脚本,把“最新已提交 Admin 代码打包并更新服务器”固化为安全、可审计流程。
admin/deploy/
HEAD
config.yaml
-IdentityFile
-AllowSchemaMigration
data/
185.216.248.75:21638
/opt/cmautobuy
admin/deploy/deploy-admin.ps1
ShouldProcess
-WhatIf
admin/deploy/deploy-admin-remote.sh
admin/deploy/README.md
预计修改:
admin/deploy_script_test.go
docs/admin/06-quality-security.md
docs/task/309-admin生产部署脚本.md
数据库结构:不改。 Admin/Client HTTP 接口:不改。
从仓库根目录执行:
$errors = $null [System.Management.Automation.Language.Parser]::ParseFile( (Resolve-Path .\admin\deploy\deploy-admin.ps1), [ref]$null, [ref]$errors ) | Out-Null if ($errors.Count -gt 0) { throw ($errors | Out-String) } bash -n ./admin/deploy/deploy-admin-remote.sh .\admin\deploy\deploy-admin.ps1 -WhatIf Set-Location admin $env:GOTOOLCHAIN = "go1.23.0" go test ./... -count=1 go build ./... go vet ./... Remove-Item Env:GOTOOLCHAIN
不在自动化测试中连接生产、创建备份、迁移或重启服务。
c6f9a80
95954d4
deploy-admin-remote.sh
-n
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
Admin 目前每次发布都由开发者临时组合 Git 导出、Go 交叉编译、上传、备份、独立端口预检、原子切换和回退命令。步骤已经在多次部署工单中验证,但没有仓库内可复用脚本,容易遗漏固定提交构建、凭据排除、后台任务空闲复核或失败回退。
目标是在项目合适目录提供一个可直接运行、面向当前生产环境的部署脚本,把“最新已提交 Admin 代码打包并更新服务器”固化为安全、可审计流程。
做什么 / 不做什么
做什么
admin/deploy/增加 Windows PowerShell 部署入口和 Linux 远端执行脚本。HEAD建立隔离 Git 归档;工作区未提交文件、config.yaml、业务 Excel 和密钥不得进入产物。-IdentityFile,不在脚本、参数示例、日志或文档保存密码。-AllowSchemaMigration才允许备份后预检迁移。不做什么
config.yaml、环境文件、AI 密钥和data/。185.216.248.75:21638、systemd 和/opt/cmautobuy,必要参数可以显式覆盖。怎么做
admin/deploy/deploy-admin.ps1ShouldProcess提供高风险确认和-WhatIf;admin/deploy/deploy-admin-remote.shadmin/deploy/README.md记录最短命令、参数、输出、回退和安全边界。预计修改:
admin/deploy/deploy-admin.ps1admin/deploy/deploy-admin-remote.shadmin/deploy/README.mdadmin/deploy_script_test.godocs/admin/06-quality-security.mddocs/task/309-admin生产部署脚本.md数据库结构:不改。
Admin/Client HTTP 接口:不改。
验收标准
-WhatIf不上传、不备份、不重启服务器。怎么验证
从仓库根目录执行:
不在自动化测试中连接生产、创建备份、迁移或重启服务。
风险和回退
实施记录(2026-08-26)
c6f9a80;归档提交:95954d4。admin/deploy/deploy-admin.ps1、deploy-admin-remote.sh、使用说明和静态安全测试。-n、-WhatIf、Go 1.23.0 全量 test/build/vet 全部通过。c6f9a80的隔离导出、Go 1.23.0 测试和 Linux amd64 构建;按预期在首次上传处停止,本次临时目录已清理。