Vervolg van: Versie beheer en werkwijze
Sinds enige tijd zijn wij (webontwikkelbedrijf met 14 man) deels overgestapt op versiebeheer (SVN), dit betekent dat zo'n 14 man een eigen VirtualBox/LAMP omgeving op de workstation heeft geïnstalleerd en er naar een centrale repository wordt gecommit. Wel maken we gebruik van een centrale MySQL-server waar al deze lokale webservers (en de acceptatieomgeving) naartoe connecten.
Op deze centrale repository staat een post-commit hook geïnstalleerd die na elke commit een export naar de acceptatieomgeving uitvoert. Op deze manier kunnen onze klanten op een regelmatige basis meekijken naar een (redelijk) stabiele versie met de laatste wijzigingen.
Opzich werkt dit allemaal prima, maar er is een uitzondering; de uploads-map. Wanneer klanten zelf (via ons CMS) bijvoorbeeld plaatjes of documenten uploaden op de acceptatieomgeving worden deze geïndexeerd door het CMS. Dit betekent dat er op de centrale MySQL-server referenties staan naar bestanden die alleen op de acceptatieomgeving te vinden zijn.
Een situatie voor ons is dat de (door de klant-toegevoegde bestanden) in de uploads-map worden toegevoegd aan de repository zodat deze ook verschijnen op de lokale webservers.
Ons gevoel ging vooral uit naar een aantal command's in een post-commithook die de uploads-map importeert naar de repository; helaas betekent dit ook weer dat er een post-commithook wordt uitgevoerd (een svn import is ook een commit
).
Hebben mensen ideeen over hoe zoiets is te implementeren? Wij zullen toch niet de enige zijn die op deze manier webdevelopen i.c.m. versiebeheer?
Sinds enige tijd zijn wij (webontwikkelbedrijf met 14 man) deels overgestapt op versiebeheer (SVN), dit betekent dat zo'n 14 man een eigen VirtualBox/LAMP omgeving op de workstation heeft geïnstalleerd en er naar een centrale repository wordt gecommit. Wel maken we gebruik van een centrale MySQL-server waar al deze lokale webservers (en de acceptatieomgeving) naartoe connecten.
Op deze centrale repository staat een post-commit hook geïnstalleerd die na elke commit een export naar de acceptatieomgeving uitvoert. Op deze manier kunnen onze klanten op een regelmatige basis meekijken naar een (redelijk) stabiele versie met de laatste wijzigingen.
Opzich werkt dit allemaal prima, maar er is een uitzondering; de uploads-map. Wanneer klanten zelf (via ons CMS) bijvoorbeeld plaatjes of documenten uploaden op de acceptatieomgeving worden deze geïndexeerd door het CMS. Dit betekent dat er op de centrale MySQL-server referenties staan naar bestanden die alleen op de acceptatieomgeving te vinden zijn.
Een situatie voor ons is dat de (door de klant-toegevoegde bestanden) in de uploads-map worden toegevoegd aan de repository zodat deze ook verschijnen op de lokale webservers.
Ons gevoel ging vooral uit naar een aantal command's in een post-commithook die de uploads-map importeert naar de repository; helaas betekent dit ook weer dat er een post-commithook wordt uitgevoerd (een svn import is ook een commit
Hebben mensen ideeen over hoe zoiets is te implementeren? Wij zullen toch niet de enige zijn die op deze manier webdevelopen i.c.m. versiebeheer?