Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using git below web root in production

I'm an avid git user; I use git in development; in staging, but not in production.

Are there any good reasons not to use git below the web root (/var/www/) in a production environment? I've been considering either using the master branch as the production branch, or creating a production branch.

push production master sounds so nice...

like image 478
Philip Zaengle Avatar asked Jun 27 '26 21:06

Philip Zaengle


2 Answers

so nice... and yet so wrong somehow.

In production environment, you need to be concerned with:

  • access security (how do you copy/deploy a delivery)
  • stopping the right process of your app
  • deploying a new version
  • starting the right processes (in the right order)
  • monitoring
  • reporting

Version Control is not part of that picture: any extra tool you might want to install in a production environment is an extra potential failure point (and need administration and monitoring of its own).
Unless it has a direct link with the application you are deploying ("direct link" as in "your app won't work without that extra tool"), it shouldn't be on a production platform.

Make a git archive from your master branch as a nice tar archive, with a "version.txt" in it to identify the repo/SHA1 from which that archive has been done, and sftp/srsynch it to the production platform.
From there, no more Git needed.

like image 132
VonC Avatar answered Jun 30 '26 14:06

VonC


Apart from the obvious aesthetic reason, permissions can often be a problem when you have a repository in /var/www.

On my production server, I have a bare repository in a private directory on branch production and a detached worktree in /var/www (see the core.worktree setting). Additionally, I have a post-receive hook to run git checkout -f, so all I have to do from my local computer is push to the production branch, and the rest is automatically taken care of.

like image 39
artagnon Avatar answered Jun 30 '26 14:06

artagnon



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!