En mi servidor, tengo dos usuarios, www-data
(que es utilizado por nginx) y git
. El usuario git
posee un repositorio que contiene el código de mi sitio web, y el usuario www-data
posee un clon de ese repositorio (que sirve como webroot para nginx). Quiero configurar un flujo de trabajo tal que presionar al repositorio git
haga que el repositorio www-data
se actualice, actualizando así mi sitio web.Flujo de trabajo de implementación de sitio web basado en Git
¿Cuál es la forma correcta de configurar los enganches para estos repositorios (que también toma en cuenta los privilegios y permisos de estos dos usuarios)?
¿Es realmente una buena idea que todos los contenidos públicos sean propiedad de la cuenta de usuario que ejecuta el servidor? Si se explota el servidor o su código, el exploit podría modificar los datos persistentes, en lugar de solo tener acceso a garabatear en las conexiones de su base de datos ... – sarnold
Entonces debería hacer que el contenido público sea propiedad de 'git' y hacerlo legible por todos ? Eso también simplificaría los problemas de permisos en esta pregunta ... – Chetan
_Si_ está satisfecho con esto como una solución, entonces sí, le ahorraría la molestia de encontrar una nueva forma de enviar desde 'git' a' www-data 'repos. :) ¿Prefiere tener dos repositorios git en el servidor? Otra opción es establecer que la propiedad del grupo de los archivos sea uno de los grupos del servidor y permitir el acceso de lectura a través de privilegios de grupo. – sarnold