最佳实践 - Git + Build自动化 - 保持配置分离

时间:2013-12-29 04:11:02

标签: git build automation gruntjs bitbucket

搜索保持配置文件分离的最佳方法,但不为新开发人员设置环境引入额外步骤。

我猜一个子模块就足以完成这项工作,但那么我将如何根据手头的任务无缝切换配置,也就是定期拉入DEV配置,在构建期间拉出配置仓库的PROD分支?

需要:

  • 轻松无痛,适合新开发者。
  • 只有选择用户+构建用户才能访问PROD配置文件。

提前谢谢。

1 个答案:

答案 0 :(得分:10)

这称为 content filter driver ,它允许您在.gitattributes文件中声明(并且仅针对您的配置文件类型)涂抹脚本< / strong>在结帐时自动

  • 合并配置文件模板文件(config.tpl
  • 使用正确的配置文件值(config.devconfig.prod,...)
  • 以生成非版本化配置文件(私有文件)

enter image description here

请参阅“Customizing Git - Git Attributes”:

echo '*.cfg.tpl config' >> .gitattributes
git config --global filter.config.smudge yourScript

使用这种方法,您不需要子模块,但您可以根据您的环境生成所需的配置文件,例如您的分支:
有点像“Find Git branch name in post-update hook”,您的涂抹脚本可以找出它当前正在执行的分支:

#!/bin/sh
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)