单独的开发和部署git存储库

时间:2014-05-21 04:33:37

标签: git deployment

我最近遇到了管理项目及其可交付成果的方法。项目团队正在使用git存储库进行开发。还有另一个存储库用于部署工件。我可以通过这种方法看到几个好处。

  1. 保持部署历史记录清洁(没有开发人员提交)
  2. 对部署存储库的有限访问权限(没有开发人员可以推动掌握和破解,因为他们无权访问部署存储库)
  3. 所有依赖项都在部署存储库中。这降低了在不同部署阶段运行bower install或类似依赖管理器并获得不同结果的风险。
  4. 您认为这种方法的好处和缺点是什么?

1 个答案:

答案 0 :(得分:4)

主要好处是保持可交付的工件(可能很大并且可以包含二进制文件)与源存储库分开

  • 主要回购仍然是源代码回购(意为文本内容,没有 - 或少数和小型 - 二进制文件)
  • 交货回购:
    • 是独立管理的,
    • 不必完全克隆(浅层克隆就足够了,因为该功能has been improved recently
    • 可以"清理"如果有必要(修剪旧的交货现在已经过时)

主要的不便(对于两种方法)是将二进制文件保存在git repo中(这不适合此类工件)。
存在替代方案(使用git):git-annex, bup, ...
或者您可以store those deliverable in a dedicated referential,例如Nexus (which is different from a git repo