从单个repo维护staging + prod环境,在heroku上使用revel buildpack维护2个遥控器

时间:2015-01-21 13:17:19

标签: heroku staging buildpack revel

Revel模型在models包下定义;所以为了导入它们必须使用相对于%GOPATH / src 文件夹的完整repo路径,在这种情况下project/app/models导致

import PROJECTNAME/app/models

到目前为止,我很高兴您使用您的应用名称作为本地开发者机器的文件夹名称,并且只有dev + prod环境。

Heroku's docs建议针对不同的环境使用多个应用(即用于分段)。使用具有不同来源的相同存储库;

这就是问题开始的地方,现在,因为暂存环境驻留在备用appname上(比方说PROJECTNAME_STAGING),它的来源存储在PROJECTNAME_STAGING下,但实际代码仍然是import PROJECTNAME/app/models import PROJECTNAME_STAGING/app/models;所以编译失败等等。

是否有可能使用revel的heroku buildpack来管理具有单个本地仓库和多个来源的多个环境?还是要在尚未实现的buildpack中使用某个功能?

此外,.godir文件可能存在问题,需要进行版本化并包含应用程序的git路径,那么有关此文件的多环境二元性呢?

1 个答案:

答案 0 :(得分:0)

解决方案简单易懂; buildpack使用.godir 中的字符串作为revel run的参数以及目录name under GOPATH/src。我的.godir文件格式为git.heroku.com/<APPNAME>.git;相反,我只使用了APPNAME格式。