Estoy empezando a usar Git para administrar las compilaciones de sitios de Joomla, y estoy buscando una guía de mejores prácticas. Tal y como está:
- Use WHM para aprovisionar una nueva cuenta. He escrito un enlace posterior a la instalación para descargar automáticamente Joomla desde Github y colocarlo en el
public_html
directorio correspondiente , así como crear la base de datos y el usuario de la base de datos - Instale manualmente Joomla a través de la interfaz web (aunque actualmente también busca una forma de automatizar esto)
- Configure un repositorio desnudo arriba
public_html
: aquí es donde los usuarios empujan y tiran. Llamaremos a estoorigin
- Configurar un repositorio estándar en
public_html
- Agregar un Joomla específico
.gitignore
- Especifique el repositorio desnudo como nuestro control remoto (
git remote add origin ../repo.git
) - Realice
git add .
, luegogit commit -m"Initial J! Commit"
,git push origin master
para obtener la instalación predeterminada en nuestro repositorio simple - Agregue un
post-receive
gancho al repositorio simple para extraer automáticamente los cambios en el repositoriopublic_html
(ya que el repositorio básico es donde los desarrolladores empujarán los cambios locales) - Agregue un
post-update
gancho al repositorio enpublic_html
caso de que alguien realice cambios en el servidor ... aunque no deberían
No estoy demasiado preocupado por las bases de datos en este momento. Mi principal problema ahora es tratar con adiciones / cambios de archivos de Joomla. Obviamente, a medida que instalo plantillas y extensiones, se agregarán y eliminarán ciertos archivos. Del mismo modo, las actualizaciones de Joomla provocarán cambios.
¿Cuál es la mejor manera de lidiar con estos cambios en el servidor? Estaba pensando en escribir un pequeño plugin que se ejecuta onAfterRender
o similar, que emplea para realizar PHPGit git add .
, git commit
git push origin master
. Luego, en mi copia local, puedo hacer un tirón y todo sale bien. ¿O hay un mejor camino?
fuente
.gitignore
? Actualmente soy el único desarrollador y soy bastante nuevo en Git, así que seguí algunas pautas de flujo de trabajo de desarrollo web en línea para llegar a donde estoy, lo que lleva a la estructura pública / desnuda..gitignore
, solo quería ver las diferencias.cache/
a su .gitignore