首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用git管理木偶模块

用git管理木偶模块
EN

Server Fault用户
提问于 2014-10-22 10:05:59
回答 1查看 1.1K关注 0票数 5

我有一个傀儡/工头服务器运行在Debian 7上,用于管理我的系统。我使用的社区版本3.7的木偶和工头1.6.0。我使用目录环境。

目前,我使用一个相当复杂的工作流来编写我自己编写的模块,在我的开发环境中创建它们,这个模块是由subversion控制的,然后将它们导出到外部目录,构建它们的傀儡模块(傀儡模块构建.)并在生产中安装。我考虑过使用subversion将其分支/标记到产品中,但出于我不记得的原因,我当时排除了这种可能性。

同时,我也学到了一点git,我宁愿用git代替subversion。我现在的问题是,是否有最佳做法可以这样做?我可以想象至少有两种方法都有其优点和缺点。一种是将环境开发置于版本控制之下,然后将其克隆/分支到生产中。第二,对每个模块进行git回购,并将它们克隆到环境中。

就像我说的,我对git很陌生,所以我对它的优点和弱点没有真正的了解。此外,我只使用木偶和工头约8个月。

干杯,克里斯托夫

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-10-22 10:50:32

答案真的取决于你想要怎样控制版本。有几种主要方法:

  1. 将所有内容存储在一个单一的平面Git存储库中,然后只需将其克隆到您的主服务器上(或者,如果您运行的是没有主程序的节点)。这是迄今为止最简单的选择,但意味着您将在生产和开发环境中拥有相同模块的多个副本(尽管您可以使用符号链接绕过它)。
  2. 将您的主木偶代码放在一个Git存储库中,Git子模块指向您的自定义模块。部署与上面的相同,将--recursive添加到git clone中。这种方法的优点是您可以轻松地引用外部模块(例如,PuppetLabs Apache模块),并且相对容易引入上游更改,但您也需要处理Git子模块的开销,这些子模块是众所周知的混乱。
  3. 运行您自己的Puppet,并使用图书管理员-木偶R10K来管理模块的安装。这样做的优点是可以通过SemVer完全控制模块的版本,而无需公开发布它们--尽管滚动自己的木偶锻造仍然被一些人视为“前沿”。
票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/638795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档