【问题标题】:Maintaining staging+prod environments from single repo, 2 remotes with revel buildpack on heroku从单个 repo 维护 staging+prod 环境,2 个遥控器在 heroku 上使用 revel buildpack
【发布时间】:2015-01-21 13:17:19
【问题描述】:

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

import PROJECTNAME/app/models

到目前为止,如果您使用应用名称作为本地开发机器的文件夹名称并且只有 dev+prod 环境,那就太好了。

Heroku's docs 建议为不同的环境使用多个应用程序(即用于暂存)。具有不同来源的相同存储库;

这是问题开始的地方,现在,由于暂存环境驻留在替代应用程序名上(比如说PROJECTNAME_STAGING),它的源存储在PROJECTNAME_STAGING 下,但实际代码仍然是import PROJECTNAME/app/models 而不是import PROJECTNAME_STAGING/app/models;所以编译失败等等。

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

另外,.godir 文件可能存在这个问题,该文件需要版本控制并包含应用程序的 git 路径,那么关于该文件的多环境对偶性呢?

【问题讨论】:

    标签: heroku staging buildpack revel


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2020-03-18
      • 2011-06-07
      • 2011-09-07
      • 2013-07-09
      • 2019-04-15
      • 2020-01-04
      相关资源
      最近更新 更多