Deploy your Go apps on dotCloud
blog.dotcloud.com
blog.dotcloud.com
1. I wanted to keep this custom service similar to other dotCloud custom services where they build on the server.
2. I didn't want to have to worry about trying to build on the client, there are a lot of unknowns, where as on the server I know what is going on and it is in a controlled environment.
3. I'm still new to Go, and I wanted to keep things as simple as possible to start.
I'm not opposed to doing the cross compiling on the client, I just needed to make a choice, and I picked the server side instead. If I hear from people that it is better to do this on the client, I'd be happy to accept a pull request to change it.
It's not out-of-the-box though. You still have to build Go itself once for each target, so kencochrane is right: it's still easier to rely on dotCloud to build server-side.
You can compile from any OS, for any OS. I compile for 32 and 64 bit versions of Windows, OSX, and Linux for my applications. It takes about 5 seconds for all the builds (running serially) to complete.
[edit] Bah, beat by shykes. It's still not hard.
I have to say things are hugely improved since then and at least on par with Heroku and with much more fine grained control over costs. Great work!
I would try out DotCloud if it were an open-source PAAS like OpenShift or CloudFoundry.
Heroku also supports Go: https://gist.github.com/299535bbf56bf3016cba
dotCloud sandboxes applications with kernel containers, so you can run any userland process you want.