加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用git管理puppet模块

发布时间:2020-12-13 16:50:09 所属栏目:Linux 来源:网络整理
导读:我有一个在Debian 7上运行的木偶/工头服务器来管理我的系统.我使用社区版本3.7的木偶和工头1.6.0.我使用目录环境. 目前我使用一个相当复杂的工作流程来自我编写的模块,在我的开发环境中创建它们,这是受颠覆控制的,然后将它们导出到外部目录,构建它们的木偶模
我有一个在Debian 7上运行的木偶/工头服务器来管理我的系统.我使用社区版本3.7的木偶和工头1.6.0.我使用目录环境.

目前我使用一个相当复杂的工作流程来自我编写的模块,在我的开发环境中创建它们,这是受颠覆控制的,然后将它们导出到外部目录,构建它们的木偶模块(木偶模块构建…)和在生产中安装.
我考虑使用颠覆将它们分支/标记为生产,但由于我不记得的原因而将其排除在后面.

与此同时,我学会了一点git,宁愿使用git而不是subversion.我现在的问题是,是否有最佳做法?我可以想象至少有两种方法都有其优点和缺点.一个是将环境开发置于版本控制之下,然后将其克隆/分支到生产.其次是将每个模块的git repo克隆到环境中.

正如我所说,我是git的新手,所以我对它的优点和缺点没有真正的线索.我也只用了大约8个月的傀儡和工头.

干杯,克里斯托弗

解决方法

答案实际上取决于你想要的版本控制方式.有几种主要方法:

>将所有内容都放在一个单独的Git存储库中,然后将其克隆在主服务器上(如果您正在运行无主服务器,则将其克隆到节点上).

这是迄今为止最简单的选项,但意味着您将在生产和开发环境中拥有相同模块的多个副本(尽管您可以使用符号链接来解决它).

>将您的主Puppet代码放在一个Git存储库中,Git子模块指向您的自定义模块.部署与上面相同,在git clone中添加了–recursive.

这种方法的优点是你可以轻松地引用外部模块(例如the PuppetLabs Apache模块)并且相对容易引入上游更改,但是你还需要处理Git子模块的开销,这些子模块非常混乱.

>运行您自己的Puppet Forge,并使用Librarian-puppet或R10K来管理模块的安装.

这样做的好处是能够通过SemVer完全控制模块的版本,而无需公开发布 – 虽然滚动你自己的Puppet Forge仍然被一些人视为“前沿”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读