Je commence à utiliser Git pour gérer les builds du site Joomla et je recherche des conseils sur les meilleures pratiques. Tel qu'il est:
- Utilisez WHM pour provisionner un nouveau compte. J'ai écrit un hook post-installation pour télécharger automatiquement Joomla depuis Github et le placer dans le
public_html
répertoire approprié , ainsi que créer la base de données et l'utilisateur DB - Installez manuellement Joomla via l'interface Web (bien que vous cherchiez actuellement un moyen d'automatiser cela également)
- Configurez un dépôt nu ci
public_html
- dessus - c'est là que les utilisateurs poussent et tirent. Nous appellerons celaorigin
- Configurer un dépôt standard dans
public_html
- Ajouter un spécifique à Joomla
.gitignore
- Spécifiez le dépôt nu comme notre télécommande (
git remote add origin ../repo.git
) - Effectuez
git add .
ensuitegit commit -m"Initial J! Commit"
, puisgit push origin master
pour obtenir l'installation par défaut dans notre référentiel nu - Ajoutez un
post-receive
crochet au référentiel nu pour insérer automatiquement les modifications dans le référentielpublic_html
(car le référentiel nu est l'endroit où les développeurs pousseront les modifications locales) - Ajoutez un
post-update
crochet au référentiel aupublic_html
cas où quelqu'un apporterait des modifications sur le serveur ... mais ils ne devraient pas
Je ne m'inquiète pas trop pour les bases de données pour le moment. Mon principal problème concerne désormais les ajouts / modifications de fichiers Joomla. Évidemment, lorsque j'installe des modèles et des extensions, certains fichiers vont être ajoutés et supprimés. De même, les mises à jour de Joomla entraîneront des modifications.
Quelle est la meilleure façon de gérer ces changements sur le serveur? Je pensais à écrire un petit plugin qui fonctionne onAfterRender
ou similaire que les utilisations PHPGit pour effectuer git add .
, git commit
git push origin master
. Ensuite, dans ma copie locale, je peux simplement faire un pull et tout se passe. Ou existe-t-il une meilleure façon?
.gitignore
? Actuellement, je suis le seul développeur et je suis assez nouveau pour Git, donc je suivais en ligne quelques conseils de flux de travail pour les développeurs Web pour me rendre où je suis, menant à la structure nue / publique.