olebedev / go-starter-kit

[abandoned] Golang isomorphic react/hot reloadable/redux/css-modules/SSR starter kit
Other
2.82k stars 358 forks source link

Add support for running on Nitrous #38

Closed chuyeow closed 7 years ago

chuyeow commented 8 years ago

This allows developers to conveniently run this starter kit in the "cloud" (where cloud == Nitrous).

We're calling it Nitrous Quickstarts and it basically provides an easy way to run apps without requiring developers to install anything locally - installing the fswatch dependency was slightly tricky on Ubuntu (this is where Homebrew is great).

Anyways, I'm featuring go-starter-kit on this page because I think it's a great use case for Nitrous Quickstarts :smile_cat:

olebedev commented 8 years ago

Wow, didn't know about nitrous.io. Looks good, thanks for pointing this.

I had just tried the button. The problems I had:

I think you don't need to symbol link the project folder as it confusing for the user(at least for me). Working in $GOPATH/src is pretty idiomatic way. The second concern could because of plain Golang box could install dependencies by default. Don't know how anything about your Golang box's specific. Maybe it could be solved via adding rm -rf $GOPATH/src/ in the first line of ./nitrous-post-create.sh, but it's ugly.

Cannot say anything about the rest. Maybe I did something wrong with the quickstart installation?

However, the platform is really interesting! As I see you are using Golang and React to build the platform, definitely right choice 👍 Do you using this starter kit in it?

chuyeow commented 8 years ago

Hi Oleg, thanks for checking it out. Yes, it looks like something went terribly wrong with your attempt. I suspect it was trying to Quickstart https://github.com/olebedev/go-starter-kit instead of https://github.com/nitrous-io/go-starter-kit (which contains the required configuration).

Could you go to https://github.com/nitrous-io/go-starter-kit and try again (click the blue Nitrous Quickstart button in the readme)?

However, the platform is really interesting! As I see you are using Golang and React to build the platform, definitely right choice 👍 Do you using this starter kit in it?

How did you tell? You're right, we are using Golang and React to build a lot of our stuff, and I agree those have been great choices for us. We started rather early though (at least for Golang) so your starter kit did not exist at the time :)

I do think your starter kit is a great starting point though, so I'm hoping people will try it out via Nitrous.

olebedev commented 8 years ago

Hi @chuyeow, I have installed the project again and guess what? fswatch is not found ) You're right about that fswatch installation on linux is slightly tricky. And there is no sense of trying to make it work, at least for non-cloud users. Instead, I am considering to migrate to spy which is native Golang cross-platform package. Need dive into testing and bring something solid and predictable for linux/os x. Any help with linux testing and any thoughts are welcome!

[UPDATE]: Unfortunately, spy is not ready yet to work with a complex project, there is no way to point wich files should be watched. I have just opened the issue about it. Let's see.

olebedev commented 8 years ago

Hi @chuyeow, could you just include this text into this notice, as tip for windows users? It could be done via other PR, I think.

chuyeow commented 8 years ago

Hi @olebedev, sorry for not helping out with the fswatch/spy issue - I don't use a reloader in dev for my Golang projects. Have you tried using https://github.com/codegangsta/gin (I notice it does a simple filepath.Walk so it might not be very efficient for large file trees)?

could you just include this text into this notice, as tip for windows users?

Good idea, I've done this: screen shot 2016-04-28 at 4 29 23 pm

olebedev commented 8 years ago

@chuyeow, don't worry about fswatch/spy issue. I made simple cross-platform CLI to wrap native golang fsnotify library. I called it on. And eventually I've migrated to it instead of fswatch. So, there are no need to care about fswatch intallation. Moreover, all golang tools which is required for building are covered by Makefile rules.

Really appreciate that you included this project as one of quickstart. Wondering, how to make friends go-starter-kit and Nitrous without additional glue scripts. The idea which is coming up is what if we clone this repo in this line instead of fork and maintain it separately. It allows, to be always up-to-dated with the main repo and don't clog it up. So, it allows maintain installation script separatelly, it seems that it's good option.

What do you think about it?