git - 通过 git 子模块管理厨师食谱
问题描述
目前,我正在尝试通过 git 子模块管理我所有的食谱,我只是想确保我的组织方式不会有任何未来的问题。
我考虑到从可管理性的角度来看,将所有存储库放在一个篮子(一个厨师存储库)中并不流行,但我也不想告诉我的开发人员他们将不得不单独管理和在测试他们的代码时执行厨师运行之前拉/克隆每个 repo(我们也在使用 berks 和厨师服务器)。
所以下面的 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 拉取并克隆为一个整体,但他们会将代码提交到单个 repos。
有没有更好的方法来做到这一点?
谢谢 :)
解决方案
推荐阅读
- powershell - Powershell 将 URL 分配给变量而不是将它们放在文件中
- go - 显示 URL 而非 Go 请求 GCP 响应的代码
- postgresql - 如何在Postgres中的数字序列之前提取一组字符串?
- c++ - 在循环条件内哪个更有效,我
假设对于给定的整数 N,我需要运行 N 次的循环平方根。
在 C++ 中,我可以通过以下两种方式做到这一点——
1)
long long sqrtN = std::sqrt(N); for (long long i=1; i < sqrtN; i++)
- inno-setup - 为什么 Visual & Installer 在我构建安装程序时总是创建一个“输出”文件夹?
- django - 创建带有外键的对象
- android - 使用 Amazon Cognito 未经身份验证的身份池 ID 是否允许在 Android 应用程序之外访问我的 dynamodb?
- c# - 网站发布后未找到 SignalR 集线器
- c# - SafeMailItem 和 MailItem 的 HTMLBody 属性内容不同
- python - 即使我做了'import tensorflow.compat.v1 as tf',为什么 tf2.2.0ver?