rocketeers / rocketeer

Send your projects up in the clouds
http://rocketeer.autopergamene.eu/
MIT License
2.67k stars 217 forks source link

Simultaneous link on multiple servers #636

Open nhp opened 8 years ago

nhp commented 8 years ago

I have a connection with 4 servers set up and would like it to deploy as synchronus as possible. I used capistrano in the past but changed most of my stuff to rocketeer recently. Right now i deploy from a system without pthreads support so using parallel is not an option. As far as i understand it --parallel would firstly deploy everything to the machines and do the "event.symlink" nearly simultaneously on all configured machines. Or is it linking on every machine after deployment directly ?

But is there something like that that could be done with the non --parallel version of rocketeer? The only thing i could think of would be skipping the symlink alltogehter and add a new command that has to be called seperately like deploy:link. Are there any other options?

aik099 commented 8 years ago

According to documentation what happens is this:

  1. take all connections (4 in your case if you have 1 stage only)
  2. run them in parallel

So the effect of simultaneous symlinking on all of them is more of illusion and isn't guaranteed.

Why do you need to symlink all at once? Can't application you're deploying work properly when some servers have old version of it and some have new version of it?

nhp commented 8 years ago

I fear there could be some problems when running multiple versions in parallel. Especially regarding database-consistency if one version uses different versions of the database than another. That is a problem even with correct migrations.