Ich fange an, Git zum Verwalten von Joomla-Site-Builds zu verwenden, und suche nach Best-Practice-Anleitungen. So wie es steht:
- Verwenden Sie WHM, um ein neues Konto bereitzustellen. Ich habe einen Post-Install-Hook geschrieben, um Joomla automatisch von Github herunterzuladen und im entsprechenden
public_html
Verzeichnis abzulegen sowie die Datenbank und den DB-Benutzer zu erstellen - Installieren Sie Joomla manuell über das Webinterface (obwohl Sie derzeit nach einer Möglichkeit suchen, dies ebenfalls zu automatisieren).
- Richten Sie oben ein nacktes Repo ein
public_html
- hier drücken und ziehen Benutzer. Wir werden das nennenorigin
- Richten Sie ein Standard-Repo ein
public_html
- Fügen Sie eine Joomla-spezifische hinzu
.gitignore
- Geben Sie das nackte Repo als unsere Fernbedienung an (
git remote add origin ../repo.git
) - Führen Sie
git add .
, danngit commit -m"Initial J! Commit"
, danngit push origin master
bekommen den Standard in unserer bloßen Repo installieren - Fügen Sie
post-receive
dem Bare-Repo einen Hook hinzu, um Änderungen automatisch in das Repo-In zu übernehmenpublic_html
(da Entwickler im Bare-Repo lokale Änderungen vornehmen). - Fügen Sie
post-update
dem Repo einen Hook hinzu,public_html
falls jemand Änderungen am Server vornimmt ... obwohl dies nicht der Fall sein sollte
Ich mache mir im Moment keine allzu großen Sorgen um Datenbanken. Mein Hauptproblem ist jetzt das Hinzufügen / Ändern von Joomla-Dateien. Während ich Vorlagen und Erweiterungen installiere, werden natürlich bestimmte Dateien hinzugefügt und entfernt. Ebenso führen Joomla-Updates zu Änderungen.
Was ist der beste Weg, um mit diesen Änderungen auf dem Server umzugehen? Ich dachte an ein kleines Plugin zu schreiben , dass Läufe onAfterRender
oder ähnlich , dass Verwendungen PHPGit auszuführen git add .
, git commit
git push origin master
. Dann kann ich in meiner lokalen Kopie einfach ziehen und alles kommt durch. Oder gibt es einen besseren Weg?
quelle
.gitignore
? Derzeit bin ich der einzige Entwickler und ich bin ziemlich neu in Git, daher habe ich einige Online-Workflow-Anleitungen für Webentwickler befolgt, um mich dahin zu bringen, wo ich bin, was zu einer nackten / öffentlichen Struktur führte..gitignore
, wollte nur irgendwelche Unterschiede sehen.cache/
Um Cache-Ordner überall zu ignorieren, fügen Sie sie einfach zu Ihrem .gitignore hinzu