2

Has anyone tried deploying a Revel app using Dokku?

I tried "https://www.digitalocean.com/community/tutorials/how-to-use-the-dokku-one-click-digitalocean-image-to-run-a-go-app" and it deployed successfully.

However, when I try a new Revel app, it gives me this error

remote: mv: cannot stat `/build/app/.heroku/g/bin/*': No such file or directory

This is the .godir that I created:

myappname

This is the Procfile:

myappname

What am I doing wrong?

Thanks

4

2 回答 2

0

由于 Revel 是一个 Web 应用程序(接收传入的 HTTP 流量),因此您需要在Procfile中声明一个Web进程类型,即:

web: myappname ## Procfile requires a Unix process declaration

这告诉 Dokku 运行什么命令来启动服务器上的 web 进程——在本例中是 myappname.go在你的项目根目录中。
去掉Procfile中的.go文件扩展名。

Dokku 是一个“Docker 驱动的 mini-Heroku”,所以 Heroku 的支持文档是相关的:

unix 进程模型是运行服务器端程序的简单而强大的抽象。应用于 Web 应用程序,流程模型为我们提供了一种独特的方式来考虑划分工作负载并随着时间的推移进行扩展。Heroku Cedar 堆栈为 web、worker 和所有其他类型的 dynos 使用流程模型。
-- 来自进程类型和 Procfile - Heroku 开发中心

请注意,Heroku/Dokku 的标准 Go Buildpack 需要Godeps目录,或者包含.godir文件的已弃用方法。

于 2015-04-08T19:41:42.970 回答
0

您需要使用revel buildpack而不是 Go 版本。buildpack 将为Procfile您生成。

务必:

  • 在你的项目中添加一个.env文件:BUILDPACK_URL=https://github.com/revel/heroku-buildpack-go-revel.
  • 添加.godir带有用于运行应用程序的参数的文件,例如github.com/yourcompany/yourrepo.
于 2015-07-15T13:41:18.683 回答