我无法将我的大脑包裹在以下事情上......我希望有一种简单的“rubyist”方法来解决这个问题。
我有几个 linux 服务器,它们都通过一堆带有自己配置的 ruby 脚本进行管理。所有这些脚本都依赖于一个 utils gem,它可以通过“gem install”轻松安装在所有主机上。然而,应用程序本身是主机依赖的。
例如处理夜间数据库备份的 ruby 脚本只在数据库主机上有意义。解析应用服务器日志文件的脚本在数据库主机上也没有任何关系。
使用 utils gem 很容易。我只是把它放到我们的 gem 服务器上,每个主机都会获取它。但是应用程序本身及其配置目前是手动复制的。但这有点愚蠢。
我真的很想将 app + config 打包到它自己的 ruby gem 中。这部分很容易。但是我希望将应用脚本安装到 /usr/local/bin 并将配置文件安装到 /usr/local/etc。但是我不知道如何告诉 gemspec 如何处理每个文件的安装路径,包括所有者更改和可能的强制手动差异/自动合并,以防配置发生更改。
我偷偷尝试启动一个厨师系统,它可以解决所有问题。但是目前这里发生的事情太多,无法建立这样的基础设施......我什至不能使用洒......遗憾的是。所以现在一切都很糟糕。
那么有没有办法告诉我的 gemspec 如何处理某些文件,或者至少有一种方法可以告诉 gemspec 在安装时运行某个文件,以便我可以编写解决这些问题的方法?
或者也许你有类似的情况并且有一个适合你的好解决方案,你不介意与我分享你的智慧?
提前谢谢,斯特凡