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路径,那么有关此文件的多环境二元性呢?
答案 0 :(得分:0)
解决方案简单易懂;
buildpack使用.godir
中的字符串作为revel run
的参数以及目录name under GOPATH/src
。我的.godir
文件格式为git.heroku.com/<APPNAME>.git
;相反,我只使用了APPNAME
格式。