Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Process for updating a live website

Tags:

git

php

What is the best process for updating a live website?

I see that a lot of websites (e.g. StackOverflow) have warnings that there will be downtime for maintenance in advance. How is that usually coded in? Do they have a config value which determines whether to display such a message in the website header?

Also, what do you do if your localhost differs from the production server, and you need to make sure that everything works the same after you transfer? In my case, I set up development.mydomain.com (.htaccess authentication required), which has its own database and is basically my final staging area before uploading everything to the live production site. Is this a good approach to staging?

Lastly, is a simple SFTP upload the way to go? I've read a bit about some more complex methods like using server-side hooks in Git.. Not sure how this works exactly or whether it's the approach I should be taking.

Thanks very much for the enlightenment..

babonk

like image 325
bgcode Avatar asked Nov 05 '22 16:11

bgcode


1 Answers

This is (approximately) how it's done on Google App Engine:

Each time you deploy an application, it is associated with a subdomain according to it's version:

version-1-0.example.com

version-1-1.example.com

while example.com is associated with one of the versions.

When you have new version of server-side software, you deploy it to version-2-0.example.com, and when you are sure to put it live, you associate example.com with it.

I don't know the details, because Google App Engine does that for me, I just set the current version.

Also, when SO or other big site has downtime, that is more probable to be a hardware issue, rather than software.

like image 161
Vladimir Keleshev Avatar answered Nov 09 '22 16:11

Vladimir Keleshev