![如何构建系统管理脚本的版本控制存储库](https://linux22.com/image/797216/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E8%84%9A%E6%9C%AC%E7%9A%84%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6%E5%AD%98%E5%82%A8%E5%BA%93.png)
我认为现在所有系统管理员都已经开始为各种场景、用户管理、服务器构建、事件缓解任务、应用程序部署等积累大量脚本。
和大多数系统管理员一样,我将这些脚本保存在一堆版本控制存储库中。
这些存储库开始变得非结构化且难以找到内容;从而导致重复和其他类似有趣的事情。
有人有相当于: https://stackoverflow.com/questions/16829/structure-of-projects-in-version-control
但用于结构管理脚本而不是开发项目
答案1
我使用 Git。我的 Github 帐户上有很多公共(大部分)git 存储库,并且我有一个“devopstools”存储库,其中大部分仅包含用于链接到其他存储库的子模块。
请参见此处:https://github.com/tomoconnor/devopstools
当我向其中添加新脚本时,它们要么进入 devopstools 存储库中的 scripts/ 目录,要么进入单独的项目(如果它们很大且很庞大),然后进行子模块处理。
答案2
我的树
REPOROOT - 主机 - 服务 - 文件
(对于主机-服务对,我知道目标上的完整路径。如果是 SVN,路径也存储在自定义属性中)