ci(preview): 预览环境切换专用SSH密钥(deploy用户+内网IP) #493
Reference in New Issue
Block a user
Delete Branch "ci/preview-ssh-secrets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
变更内容
STAGING_SSH_*切换到PREVIEW_SSH_*专用密钥root改为deploy(专用部署账号,最小权限)47.98.113.167改为内网172.30.18.197(CI同网段更快更安全)配套
PREVIEW_SSH_HOST/PREVIEW_SSH_PORT/PREVIEW_SSH_USER/PREVIEW_SSH_KEY相关工单
#446 P1-4 预览环境
CI全绿,自动审批通过。
CI全绿,自动审批通过。
📊 审查概览
❌ 需修改的问题(严重)
无
💡 改进建议(一般)
[.gitea/workflows/preview-cleanup.yml & preview-deploy.yml: Shell脚本部分] 硬编码内网IP地址
172.30.18.197(内网地址)。虽然这仅作为 Secret 缺失时的 Fallback,但将内网拓扑结构硬编码在代码库中降低了灵活性,且如果仓库是公开的,会暴露内部网络信息。建议移除硬编码的默认值,强制通过 Secrets 配置,或确保该 IP 为长期静态资源。[.gitea/workflows/preview-cleanup.yml & preview-deploy.yml: Shell脚本部分] 部署用户权限变更
root变更为deploy。这符合最小权限原则,是良好的安全实践。但请务必确认目标服务器上的deploy用户对/var/www/preview目录具有完整的读写权限,否则mkdir、rm -rf和rsync操作将会因权限不足而失败。✅ 良好实践
set -eux开启了严格模式,能及时发现变量未定义和命令执行错误。StrictHostKeyChecking=no配合ssh-keyscan,在自动化脚本中是合理的处理方式。🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 11:15:34 | 模型: