目前,我正在尝试通过git子模块管理我所有的烹饪书,我只是想确保我在组织它的方式上不会有任何未来的问题。
我考虑到,从可管理性的角度来看,将所有回购放在一个篮子(单个厨师回购)中是很流行的,但我也不想告诉我的开发人员,在执行厨师运行测试之前,他们必须单独管理和拉/克隆每个回购他们的代码(我们也在使用berks和一个chef服务器)。
因此,以下git子模块策略是我的解决方案:
chef-repo < main >
âââ chef-repo/LICENSE
âââ chef-repo/README.md
âââ chef-repo/chefignore
âââ chef-repo/cookbooks
â âââ chef-repo/cookbooks/README.md
â âââ chef-repo/cookbooks/active-directory < submodule >
â â âââ chef-repo/cookbooks/active-directory/Berksfile
â â âââ chef-repo/cookbooks/active-directory/attributes
â â â âââ chef-repo/cookbooks/active-directory/attributes/default.rb
â â â âââ chef-repo/cookbooks/active-directory/libraries/cmd_helper.rb
â â âââ chef-repo/cookbooks/active-directory/recipes
â â âââ chef-repo/cookbooks/active-directory/resources
â â âââ chef-repo/cookbooks/active-directory/resources/computer.rb
â âââ chef-repo/cookbooks/example
â âââ chef-repo/cookbooks/java < submodule >
â â âââ chef-repo/cookbooks/java/Berksfile
â â âââ chef-repo/cookbooks/java/recipes
â â âââ chef-repo/cookbooks/java/templates
â âââ chef-repo/cookbooks/redhat_subscription_manager < submodule >
â âââ chef-repo/cookbooks/windows < submodule >
âââ chef-repo/data_bags
âââ chef-repo/environments
âââ chef-repo/roles
我知道子模块也不是很受欢迎,所以我采用了这种方法,这样开发人员就可以将整个chef repo作为一个整体进行复制,但他们会将代码提交给各个repo。
有更好的方法来做这个吗?
谢谢: