我有一个bash脚本,我需要使用systemd定时器在多个(个人)机器上运行。 尽pipe在很大程度上类似,但在某些机器上需要启用这些脚本中的某些function,而不是其他function。
现在,我使用git分支来pipe理脚本和定时器。 这似乎是方便和正常工作,但我想知道如果这是一个build议的做法。
虽然不太可能,但我确实发现了潜在的问题(人为引入错误):检查计算机上的错误分支。
我的问题:
这是否足以避免使用git?
还有其他潜在的问题,我可能没有考虑?
这种方法推荐用于pipe理多台机器上的脚本和定时器吗? 还是我最好(一)重写脚本,使他们更便携和可configuration,(二)只有机器特定的文件,没有混帐分支,(三)其他?
我是node-config
库的维护者,在find一个成功的模型之前,经历了一些configuration灾难。
我build议保留所有的configuration在一个分支。
考虑你想做的一些更新,可以通过查找和replace你的文件来完成。 如果所有的文件都在同一个目录下,这是一件容易的事情。 如果更改影响到其他分支机构的工作,则必须检查每个分支机构以在每个分支机构上进行更改。
在node-config
,我们使用环境variables来设置“环境”,比如“生产”或“开发”,另一个设置“实例”。 它还允许基于当前机器的主机名进行configuration。
结果是只有一个集中式configuration的代码库。 代码被configuration为根据环境variables和主机名而有所不同 – 代码本身在环境和主机之间完全相同。
在你的情况下,你可以让你的bash框架根据主机名来源一个或多个文件。 因此,你的代码在任何地方都可以完全相同,但是在不同的主机上仍然可以按照需要运行。
你甚至可以在每台主机上运行你所有的计时器动作,只要在某些主机上不做任何事情。