Zic*_*ico 6 linux git macos go
我完全是新手(它看起来很棒).
因此,我想构建一个"web-"应用程序,与devel框架一起使用.问题是我在我的mac上编码(os:darwin,arch:amd64),我想在我的服务器上部署应用程序(os:ubuntu 12.04,arch:amd64).我在本地"狂欢"(所以bin/revel它是:Mach-O 64位可执行文件)在我的服务器上是不可执行的.
现在,当我推(使用git)时,我有一个post-receive脚本来构建app(revel build myapp /path/to/deploy).在我试图"开始"陶醉我的服务器之前,它也失败了.
它不起作用,我可以理解为什么,但我不知道如何获得可行的工作流程:
PS:我读过http://blog.gopheracademy.com/auto-deploy-revel-site,http://revel.github.io/manual/deployment.html以及关于交叉编译的文章)
我不确定这是否有帮助..但这里是..
您的具体情况就是我目前在 Go 中开发第一个合适的 Web 应用程序时每天所做的事情。我在 Windows 笔记本电脑上进行开发(虽然工作很无聊……我在工作场所是一名 .NET 开发人员!),在家里的 Mac 上进行开发。然后我将其部署到 Digital Ocean 上托管的 Ubuntu 服务器。
我的工作流程是:
go build服务器上的代码go get它抱怨的任何我在服务器上没有的库(例如,gorilla/mux今天不在服务器上,所以我只是运行它)go build再次(如果适用)..然后只需在服务器上运行它即可。
当开始这个工作流程时(我仍在尝试使用 bash 脚本等来完善它),我发现GOPATH跨环境的一致性确实很有帮助。
例如,我GOPATH在每台机器上是:
C:\GOPATH~/go-code//home/simon/go-code/它们每个都有完全相同的结构:
...ETC。这极大地简化了整个事情,让我能够跨 3 个环境无缝地进行开发。
我仍在习惯 Go 和这个设置(我的核心是 .NET 开发人员)——但它现在似乎正在发挥作用。