如何在Heroku上运行go generate

时间:2017-08-27 16:41:28

标签: heroku go

我正在使用http://github.com/tmthrgd/go-bindata在Go可执行文件中嵌入静态文件和模板。它需要运行go generate来运行读取每个文件的Go代码并将二进制表示写为标准go文件。在构建过程之前必须触发go generate。 有没有机会配置Heroku来处理这个?

1 个答案:

答案 0 :(得分:0)

go generate应该在开发时在本地运行,而不是在heroku上运行。如果你在heroku上运行它将导致很难调试问题。如果go generate出现意外结果,您将无法轻松检查此内容。

您可以使用modd之类的工具或使用git hook运行go generate。 通过git跟踪go generate的结果也意味着您可以跟踪哪些更改会影响生成的代码。

在像ruby这样的语言中,可能习惯在服务器上运行bundle install并从git中省略依赖关系。对于go程序,情况并非如此。应该通过git销售和跟踪依赖关系。生成的代码也一样。

对于这种情况,其他人根本没有建议,我绝不会做这样的事情。

  • fork the go heroku buildpack
  • 添加一行以运行go generate
  • 使用您的修改过的go heroku buildpack
  • 部署您的应用

around this line

more on buildpacks