3 ms·
> What's the added complexity there, in terms of deployment? You need to install the interpreter/runtime (and sync versions/use rbenv/etc) + you need to instal
by elithrar 13y ago
> What's the added complexity there, in terms of deployment?
You need to install the interpreter/runtime (and sync versions/use rbenv/etc) + you need to install your libraries + ensure that they are kept up to date (i.e. virtualenv or bundle install).
A lot of this is shortcut these days thanks to rbenv, virtualenv, etc, but it's still not automatic.
I can import a ton of libraries into my Go project on OS X, cross-compile a binary (`$ GOOS=linux go build`) and upload it. If I update the packages on my dev machine, it doesn't matter. Recompile, upload, restart. This goes for many languages that compile native binaries, but Go does make it really easy.
- deckiedan 13y agoDon't you also have a load of static content (js, css, etc), templates, and configuration files to upload / sync as well? But yes, it does sound a bit easier.
- Octplane 13y agoWith some clever compilation stuff, you can also pack most static assets directly in your application (see https://github.com/jteeuwen/go-bindata https://github.com/jteeuwen/go-bindata ). This gets even more magic...
- philips 13y agoWe use go-bindata on etcd to build the frontend components of the dashboard into the binary: https://github.com/coreos/etcd/blob/0.2/mod/dashboard/resources/bindata-file.go https://github.com/coreos/etcd/blob/0.2/mod/dashboard/resour... https://github.com/coreos/etcd/blob/0.2/mod/dashboard/build https://github.com/coreos/etcd/blob/0.2/mod/dashboard/build https://github.com/coreos/etcd/blob/0.2/mod/dashboard/dashboard.go#L14 https://github.com/coreos/etcd/blob/0.2/mod/dashboard/dashbo...
- skrebbel 13y agoThanks. I still don't see how that's fundamentally different from JVM or .NET languages though. Sure, your jars or asseblies might be more than one file, but they're all in the same directory. Deploy means upload the contents of that directory.