我们正在使用虚拟主机dotCloud来运行我们的一些应用程序。 dotCloud直接从git repo部署应用程序,并从该repo中读取名为dotcloud.yml的配置文件以配置和运行堆栈。
我们有两个分支(一个生产,一个分期),它们是同一个仓库的一部分,并且这些分支推动分离dotCloud实例。 dotcloud.yml文件在运行这些实例中存在细微差别。
管理此dotcloud.yml文件的最佳方法是什么?目前我们只是确保我们确保每个分支上的dotcloud.yml都是正确的,但是当我们将更改从分段合并到主分区时,它会不断被覆盖。
答案 0 :(得分:1)
你可以:
dotcloud.yml.template
dotcloud.yml.value.prod
和dotcloud.yml.value.staging
,其中包含每个环境的相关值。dotcloud.ym
l文件(不再版本化)。您可以在(也是版本化的)filter content driver中将涂抹脚本声明为.gitattribute
file:
在任何git checkout上,都会调用涂抹脚本,如果它识别出dotcloud.yml.template
内容,则会构建正确的dotcloud.yml
文件。
答案 1 :(得分:0)
你可以:
dotcloud.yml
添加到.gitignore
,有两个单独的文件用于登台和制作(例如dotcloud.yml.staging
和dotcloud.yml.production
),这两个文件都存在于您的git存储库中,设置了一个符号链接{ {1}},并使用dotcloud.yml → dotcloud.yml.production
推送(dotcloud push --rsync
标志将覆盖推送机制检测,rsync机制将启动,而不是git机制); --rsync
文件,但依赖于不同的机制(例如dotcloud.yml
或dotcloud var
脚本)在生产和暂存行为之间切换。