我们正在使用虚拟主机 dotCloud 来运行我们的一些应用程序。 dotCloud 直接从 git 存储库部署应用程序,并从该存储库读取名为 dotcloud.yml 的配置文件以配置和运行堆栈。

我们有两个分支(一个生产,一个暂存),它们是同一个 repo 的一部分,它们推送到单独的 dotCloud 实例。在 dotcloud.yml 文件中运行这些实例时有细微差别。

管理此 dotcloud.yml 文件的最佳方法是什么?目前,我们只是确保每个分支上的 dotcloud.yml 都是正确的,但是当我们将更改从 staging merge 到 master 时,它会不断被覆盖。

最佳答案

你可以:

  • 版本 a dotcloud.yml.template
  • 版本 dotcloud.yml.value.proddotcloud.yml.value.staging 以及每个环境的相关值。
  • 版本一个涂抹脚本,负责根据 dotCloud 实例构建正确的 dotcloud.ym l 文件(不再进行版本控制)。

  • 您可以在(也是版本化的) filter content driver 中将该涂抹脚本声明为 .gitattribute file :

    在任何 git checkout 中,都会调用 smudge 脚本,如果它识别出 dotcloud.yml.template 内容,就会构建正确的 dotcloud.yml 文件。

    关于git - 同一配置文件在不同分支的不同版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10426954/

    10-13 08:45