go - 使用 Dokku 部署 Revel (Golang)

标签 go revel dokku

有人试过使用 Dokku 部署 Revel 应用吗?

我尝试了“https://www.digitalocean.com/community/tutorials/how-to-use-the-dokku-one-click-digitalocean-image-to-run-a-go-app”并且部署成功。

但是,当我尝试一个新的 Revel 应用程序时,它给了我这个错误

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

这是我创建的 .godir:

myappname

这是过程文件:

myappname

我做错了什么?

谢谢

最佳答案

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

web: myappname ## Procfile requires a Unix process declaration

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

Dokku 是一个“Docker 驱动的迷你 Heroku”,因此 Heroku 的支持文档是相关的:

The unix process model is a simple and powerful abstraction for running server-side programs. Applied to web apps, the process model gives us a unique way to think about dividing our workloads and scaling up over time. The Heroku Cedar stack uses the process model for web, worker and all other types of dynos.
-- from Process Types and the Procfile - Heroku Dev Center

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

关于go - 使用 Dokku 部署 Revel (Golang),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953766/

相关文章:

go - revel go 框架的 app.conf 和环境变量旁边的外部配置

go - 如何从代码和测试中引用相关文件

git - Dokku 在 ubuntu 上运行,在 git push 上要求输入密码

git - 如何获取 dokku 应用程序的 git 远程 URL

go - 关于 golang 中的 `&MyType{}` 模式的任何文档/文章?

postgresql - 两种不同形式的数据库连接字符串

Go routine 不接收通过 channel 发送的所有数据——玩具示例程序

shell - Golang requirements.txt 等价物

git - Dokku的Dart项目。未能掌握

c - 接口(interface) Go 与 C 库