微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 如何在repo / project中跟踪系统特定的配置文件?

我有一个 ruby项目,数据库主机和端口可能在开发和生产上有所不同.我需要一种方式来为这两种环境的脚本获得不同的值.

项目应该是完整的 – 所以应该有一些方法来指定认值.我不希望克隆丢失配置文件.所以完全忽视他们将不会奏效.

你如何用git解决这个问题?

解决方法

我建议使用:

>一个模板配置文件(具有变量名称文件代替主机和端口值)
>一个脚本,可以根据环境(由脚本检测)替换那些具有适当值的变量名称

那么Git解决方案就是git attribute filter driver(另见GitPro book).

A filter driver consists of a clean command and a smudge command,either of which can be left unspecified.
Upon checkout,when the smudge command is specified,the command is fed the blob object from its standard input,and its standard output is used to update the worktree file.
Similarly,the clean command is used to convert the contents of worktree file upon check-in.

这样,由smudge引用的脚本(由Git管理)可以通过特定于环境的值替换所有变量,而clean脚本将其内容还原到未触摸的配置文件.

当您在产品环境中检出您的Git回购时,涂抹过程将在生成的工作树中产生类似产品的配置文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐