Hot code push in production?


#1

Hi everyone.
One of the nice features of Meteor is Hot Code Push.
However, while it works correctly in dev environnement, i have had difficulties getting it to work in production.
I do manual deployment on my own server, ie i owerwrite former bundle with new bundle with a simple cp -R.
However, 9 times out of 10, hot code push is not triggered. Sometimes i can get the browser to update with a forced refresh. Sometimes i have to do a reboot (!!) of the server to get the new version of the code.
Has anyone seen this ? Is there a known workaround ?

Thank you in advance.


#2

Where are you hosting in production? If you’re creating a bundle I believe you would need to use something like forever restart after updating the files to make it update (or use something like MUP).


#3

I’m hosting on a dedicated ubuntu server.
I never got forever to work, and when i finally got an upstart script that seemed to work, i took the decision to not try to fix what was not broken.
However my script has a respawn stanza.


#4

Hmm yea i’m not sure. Would you be able to use MUP over SSH to do the rolling updates? I have been using it with a lot of success. I don’t really like having so much magic in one script but it saves me a bunch of time.


#5

You are right, i probably should.
The thing is at the time i found my solution MUP didn’t exist, and now that i have a pseudo working configuration, with automatic encrypted backup, i can’t afford to start from zero with the risk of ending with my production installation not working.
I was just wondering if file replacing should not retrigger a reload in production as it does in dev.


#6

Ah gotcha, yea switching to MUP wouldn’t be worth it then. Adding/replacing new files won’t trigger a reload if it’s a bundle. This has to be done manually by re-spawning Node (not sure if that’s the correct term).


#7

Ok, thank you that was what i was wondering.