windows - SVN Post Commit til at opdatere arbejds kopi, når Working Copy er på en netværksdrev

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder for et ret nyt webudviklingsfirma, og vi tester for øjeblikket subversion installationer til implementering af et versionssystem. Et af de funktioner, vi har brug for versionssystemet til at udføre, er at opdatere udviklingsserveren med en redigeret fil, når den er blevet begået.


Vi vil gerne opretholde en server til alle vores SVN repositories, selvom vi på grund af systemkrav behøver at opretholde flere separate udviklingsservere. Jeg forstår, at opdateringerne er ret enkle, når udviklingsserveren ligger på samme sted som SVN, men det er bare ikke muligt for os. Så vi skal kortlægge separate netværksdrev til SVN-serveren for hver udviklingsserver.


Men denne fejl på begå. Her er min testkatalog for arbejdskopiering, som refereret i filen post-commit.bat:


SET WORKING\_COPY=Z:	estweb


Dette resulterer dog i en fejl ...


post-commit hook failed (exit code 1) with output: svn: Error resolving case of 'Z:	estweb'


Jeg er sikker på, at dette skyldes, at serveren ikke er den samme bruger som mig og derfor ikke har den del jeg har brug for kortlagt til 'Z' - jeg har bare ingen idé om, hvordan man kan arbejde rundt. Kan nogen hjælpe?


UPDATE: Jo mere jeg ser på disse problemer ser det ud til, at den reelle løsning på problemet er at bruge en CI-server til at opnå det, jeg forsøger at opnå. Jeg kigger i øjeblikket på TeamCity og hvad det kan gøre for os.

Bedste reference


Gør dette ikke gennem en post-commit -krog. Hvis du nogensinde lykkes at få krogen til at lykkes, vil du forårsage den person, der har forpligtet sig til at vente, indtil opdateringen er færdig. I stedet anbefaler jeg, at du bruger Jenkins, som er en kontinuerlig byggemotor. [3]


Det er muligt, at du ikke har noget at bygge. Hvis du ikke bruger PHP eller JavaScript, er der intet at kompilere. Du kan dog stadig bruge Jenkins til at gøre opdateringen til dig.


Jeg kan ikke komme ind i den nitty-gritty detaljer høre, men en af ​​de ting, du kan gøre med Jenkins, omdefinerer sin arbejdsmappe. Du kan gøre dette ved at klikke på knappen Avanceret , når du definerer en job, og det vil spørge dig, hvor du vil have arbejdskataloget. I dette tilfælde kan du angive din serveres arbejdskatalog.


En af de ting, du kan gøre med Jenkins, er, at det automatisk kører tests, eller måske en smule jævnere opdatering. For eksempel kan du muligvis genstarte din webserver, når du ændrer et par filer, eller måske skal du sørge for, at hvis du ændrer 100 filer, bliver de alle ændret på én gang, eller din server er ikke i en stald stat. Du kan bruge Jenkins til at gøre dette også. Og hvis der er nogen problemer, kan du have Jenkins email den person, der er ansvarlig for serveren, at serveropdateringen mislykkedes.


Jenkins er let at installere og bruge. Du kan downloade det og starte Jenkins om 10 minutter. Oprettelse af et job i Jenkins kan tage dig yderligere 15 minutter, hvis du aldrig havde set Jenkins før, og havde ingen idé om, hvordan det virker.