von Christoph Möller, 02.12.2007

Der Einstieg in die Extension „np_subversion“: Versionskontrolle für TYPO3-Projekte

Aus dem
t3n Magazin Nr. 10

Tipp: Subversion speichert in der Standardkonfiguration die Authentifizierungsdaten im Homeverzeichnis des ausführenden Benutzers. Dieses Verhalten ist in Multi-User-Umgebungen (in diesem Fall: in allen TYPO3-Instanzen, die im selben Webserverkontext ablaufen) nicht gewünscht und sollte abgestellt werden. Setzen Sie dazu den Pfad zur Subversion-Konfiguration mit dem Parameter „svn_config_dir“ und ergänzen Sie die svn-Konfigurationsdatei um folgende Zeilen:

CONFIG

[auth]
store-passwords = no
store-auth-creds = no

Listing 1

Auch der Repository-Zugriff über HTTP-Proxies oder SSH-Tunnel, Ausschlussmuster (z. B. für .project-Dateien der Eclipse-IDE) und sonstige Tricks lassen sich über Subversion-Bordmittel in die Gesamtlösung integrieren. Hierzu bietet wiederum das Subversion-Handbuch eine gute Referenz.

Um gezielt zwischen den Anwendungsfällen „Bereitstellung und Update“ und „versionierte Entwicklung“ zu trennen, definiert „np_subversion“ zwei Typen von Datenbankeinträgen: Repository- und Target-Records. Im „Repository Record“ werden die Basis-URL des Subversion-Servers sowie eventuell ein vordefinierter Benutzerzugang hinterlegt. Für die Verwaltung von Extensions oder beliebiger fileadmin-Unterverzeichnisse werden „Target Records“ erstellt. Dabei muss zwischen Verzeichnissen innerhalb und außerhalb des fileadmin-Astes unterschieden werden, da das Dateilistenmodul standardmäßig keine Zugriffe außerhalb des Verzeichnisses „fileadmin/“ gestattet. „np_subversion“ führt daher eine Funktionsbox mit Zusatzfunktionen für die zutreffenden Subversion-Operationen „checkout“, „export“, „update“ und „commit“ ein (siehe obige Abbildung).

Anwendungsfälle in der Praxis

Deployment von Extensions in Kundenprojekten: Mit „Export Target“ Records für alle eingesetzten Extensions und intelligentem Packaging aller benötigten Ressourcen (Templates, TypoScript, Assets) eignet sich „np_subversion“ sehr gut für die Bereitstellung und das Update fertiger Lösungen in Produktionsumgebungen. Per „svn export“ werden die benötigten Daten aus dem Repository extrahiert, .svn-Metaverzeichnisse werden nicht angelegt. Der Exportvorgang erzeugt optional ein Backup von bestehenden Daten. Eine geschickte Strukturierung des Sourcecode-Repositorys vorausgesetzt, können so auch spezifische Anpassungen für einzelne Kunden (Branches) oder benannte Releases beziehungsweise Bugfixes (Tags) mit minimalem Aufwand verteilt werden.

Seite:  1 2 3

Empfohlene Artikel

Was erwartet uns in TYPO3 4.7?

Was erwartet uns in TYPO3 4.7?

Plangemäß ist inzwischen die zweite Alpha von TYPO3 4.7 erschienen – ein guter Zeitpunkt, um einen Blick auf die...