3 ms·
After all 40,000 unit tests have passed, sync that version to prod with ssh tunnel. Rsync to new directory on all target machines in a rsync tree. Switch to new
by jwatte 14y ago
After all 40,000 unit tests have passed, sync that version to prod with ssh tunnel. Rsync to new directory on all target machines in a rsync tree. Switch to new version by moving a symlink. Verify new version by looking at metrics -- if something is off, automatically switch back. Repeat up to 50 times a day ;-)
- azarias 14y agoHave you had to deal with users with sessions across multiple versions?
- jwatte 14y agoAll the time! We use PHP, so each request is a blank slate -- persistent state is all in mysql, redis and memcached. DB schemas are pushed/applied before the code that uses them. Also if it wasn't clear: all those steps are automated, other than running the "I want trunk on prod now" script. We really should make that a post-test hook. Any year now ;-)