В настоящее время я пытаюсь управлять всеми своими кулинарными книгами с помощью подмодулей git, и я просто хочу убедиться, что у меня не возникнет никаких будущих проблем с тем, как я их организую.
Я принял во внимание, что с точки зрения управляемости непопулярно класть все свои репо в одну корзину (одно шеф-репо), но я также не хотел говорить своим разработчикам, что они собираютсянеобходимо индивидуально управлять и извлекать / клонировать каждое хранилище перед выполнением запуска chef во время тестирования их кода (мы также используем 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
Я знаю, что подмодули тоже не очень популярны, поэтому я просто пошел с этим подходом, чтобы разработчики могли извлекать и клонировать весь шеф-репо в целом, но они будут фиксировать код вотдельные репозитории.
Есть ли лучший подход к этому?
Спасибо:)