4 ms·
I'm really looking forward to see more tools ported to go. The simplicity of copy/paste deployment is really something you don't realize until you've experience
by bsaul 12y ago
I'm really looking forward to see more tools ported to go. The simplicity of copy/paste deployment is really something you don't realize until you've experienced it.
Now, the simple idea of installing python and dependencies then doing pip install for wal-e installation, made me search for an hour on git in hope for a standalone golang binary.
- mamcx 12y agoThat is the same experience with Delphi. Is weird is not more popular (not just Delphi/pascal, but the idea of easy copy/paste deployment)...
- mbell 12y agoIt's quite common in the Java world to build a 'fat jar' which is the same idea, all dependencies other than the JVM itself in a single file.
- girvo 12y agoOne could make an argument that with PHP, copy-paste deployment is popular. Of course, it's not quite the same thing, as you'll need Apache/etc. setup, however that is one of PHP's strengths. It's good to see another language doing something similar, but in a nicer, far more performant way: specifically for web development, the way Go does stuff is brilliant in my opinion.
- pjmlp 12y agoIt is pretty common on Windows and Mac OS X worlds, but it seems not so in GNU/Linux.
- bkeroack 12y agoIn theory it's also true of ASP.NET. You have a magic folder of CLR-compiled binaries you drop into the IIS site root folder and it "just works" (or doesn't, as the case may be).
- mamcx 12y agoAh, I was not clear. I mean copy/paste without the need of a runtime. With Delphi (go?) you just ship the exe (and can even put inside it the resources). Having a kind of packaging for shipping is more or less popular now...
- rtpg 12y agoHow well does this work in practice? I mean for a web server don't you still have to hook up _something_ in the server (at least to start up the binary)? I mean in _theory_ setting up a Django webserver is just a ./manage.py runsrever but in practice there's a lot of stuff to fix up
- TylerE 12y agoJust use something like supervisord: http://supervisord.org/ http://supervisord.org/ Super easy to setup - way easier than manually writing init scripts - and it'll handle things like auto-restarting the process if it dies (if you want it to). It also supports dependency chaining (e.g. before starting the web service, start the DB)
- wtf_is_up 12y agoYeah. I use systemd if the target env already has it, otherwise supervisord does a fine job.
- rebelnz 12y agoI concur - just set up a couple of sites (written in go) and use Supervisor - its a nice tool and pretty intuitive. Using conf file to specify run app as particular user, set environment variables, logs, autostart etc.. - good to have in one place.
- bsaul 12y agoGo includes a really good http lib that you can use to handle incoming http connexions. So really, my whole deployment for now is one apt-get for postrges, a golang binary and one json file for configuration, period. For the service itself i wrote a basic init.d file, but i'll probably use something better ( i see supervisor mentionned, i'll try that).
- domrdy 12y agoIf your site does not have a single static or template file, this is true. I agree that the binary is nice but scping it to the server and calling it a day still doesn't work.
- icebraining 12y agoActually... https://github.com/jteeuwen/go-bindata https://github.com/jteeuwen/go-bindata
- fortytw2 12y agoNot to forget - https://github.com/rakyll/statik https://github.com/rakyll/statik and https://github.com/GeertJohan/go.rice https://github.com/GeertJohan/go.rice among many others