小编fid*_*per的帖子

多服务器部署策略 - 生产服务器上的 Git?

主要问题:在生产服务器上使用 Git 进行部署是一个好策略吗?

我看到的许多部署策略都围绕着在您的服务器上安装 Git(开发、暂存和生产)。

对于部署到舞台/生产,这的优点似乎很明显:

  • 快速拉动变化的能力
  • 更轻松的自动化
  • 如果需要,可以切换分支(可能是每个测试服务器的分支)
  • 可以查看文件是否在生产服务器中以某种方式更改

但是,我看到了一些缺点:

  • 安全性 - Git 似乎是一个潜在的攻击媒介,即使生产环境具有只读访问权限
  • git pull 如果生产中存在某种未分阶段的更改(也可以使用 -f 克服),则在生产服务器上可能会失败

部署即服务公司(例如 Beanstalkapp.com、deployhq.com)使用 FTP、SFTP 或 SSH。Beanstalkapp 尤其擅长只根据 git 历史修改文件(而不是重新部署每个文件)。这些服务不要求您在舞台/生产服务器上安装 git(尽管如果您通过 SSH 部署,您是否会/可以使用该策略是有争议的)。

我发现我喜欢使用 sftp:

  • 仍然可以在部署前/部署后运行脚本
  • 无论生产服务器上有什么,都可以覆盖、移动、删除文件(这对我来说是一个加分项)
  • 生产环境中没有 .git 目录或任何基于 git 的攻击漏洞

就最佳实践和安全性而言,在生产服务器上轻松使用 git 是否值得?如果没有,在跳过持续集成工具的同时进行部署的好方法是什么?

(我只询问是否跳过 CI 工具,因为时间/预算/客户限制不允许它们用于我的日常使用)。

deployment git multiple-instances

7
推荐指数
1
解决办法
3342
查看次数

标签 统计

deployment ×1

git ×1

multiple-instances ×1