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

Dmi*_*kov 6 git automation build bitbucket gruntjs

寻找保持配置文件分离的最佳方法,但没有为新开发人员设置环境引入额外的步骤.

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

需要是:

  • 对于新开发者而言,轻松无痛.
  • 只有选择用户+构建用户才能访问PROD配置文件.

先感谢您.

Von*_*onC 10

这称为内容过滤器驱动程序,它允许您在.gitattributes文件中(并且仅针对您的配置文件类型)声明一个将在结帐自动生成的涂抹脚本:

  • 组合配置文件模板文件(config.tpl)
  • 用正确的配置文件值(config.dev,config.prod,...)
  • 为了生成一个非版本化的配置文件(私有文件)

在此输入图像描述

请参阅" 自定义Git - Git属性 ":

echo '*.cfg.tpl config' >> .gitattributes
git config --global filter.config.smudge yourScript
Run Code Online (Sandbox Code Playgroud)

使用这种方法,您不需要子模块,但您可以根据您的环境生成所需的配置文件,例如您的分支:
有点像" 在更新后的钩子中查找Git分支名称 ",您的污点脚本可以找出它当前正在执行的分支:

#!/bin/sh
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
Run Code Online (Sandbox Code Playgroud)