reactioncommerce / reaction-cli

A command line tool for working with Reaction Commerce.
33 stars 20 forks source link

Can Docker Image built locally and then push to VM/VPS by CLI #35

Closed hrath2015 closed 7 years ago

hrath2015 commented 7 years ago

This request is result of gone through the pain in last couple of days because of failed build efforts on Google Cloud vm n1-standard-1 (1 vCPU, 3.75 GB memory) it is failing for memory allocation error. tried other suggestions as well (--build-arg TOOL_NODE_FLAGS="--max-old-space-size=2560"), but no luck.

Is this possible to build or enhance. (similar to Mup/Mupx)

jshimko commented 7 years ago

What do you mean by "Is this possible to build or enhance"? I'm not familiar with whatever you're talking about.

hrath2015 commented 7 years ago

sorry for not being clear. Can this feature be built in Reaction CLI, where it can build the production bundle on local machine and deploy to the server of choice. That way it will save from provision of higher RAM VMs just for build purpose. and sincere thanks for all your efforts.

jshimko commented 7 years ago

Ok. Thanks for the clarification. Sorry to hear about your troubles.

However, I'm not sure that this has much to do with reaction-cli. The Reaction build process happens in our Docker base image. And you can run that build on any machine you want, push the image to a Docker registry, and then deploy it anywhere. Or even easier, you could have your image build on a free service like CircleCI and push/deploy your build wherever you want from there. We already have fully functioning configs for CircleCI in Reaction that will deploy your image to Docker Hub. You only need to set a few environment variables in your dashboard to use it with your own account.

As for reaction-cli being a deploy tool to "deploy to your server of choice", I think that's a little out of scope of the tool too. It's specifically for developing with Reaction and deploying to Reaction services. We have no plans to add support for any other kinds of custom deployments (like MUP or Docker Machine does). There's just too many scenarios to attempt to support and there's already a long list of ways to build and deploy Docker images without having to provision a dedicated build VM.

The CPU/RAM you're using is fairly low for a build, but it should be enough to at least make it through. If you still can't get it to work on Google Cloud and you don't want to try another cloud provider, my recommendation is to build somewhere other than where you deploy. Tools like CircleCI or Docker Hub's automated builds can do the work for you on someone else's server. And they're both free.

hrath2015 commented 7 years ago

thanks again for detailed response. Will start using circleci as it is already being supported in reaction. closing the issue. 👍

bkilrain commented 7 years ago

@hrath2015 I'm getting the same error... even when using docker hub's automated build feature. Were you able to ever get a custom build going?