Wir haben ein Projekt, in dem die .js- und .css-Dateien mit YUI Compressor komprimiert werden. Ein sehr gutes Werkzeug. Wir verwenden TFS 2010 auch als Build-Server mit nächtlichen Builds, die auch auf unserer Dev-Website bereitgestellt werden.
Das Problem, das wir haben, ist, dass die Datei, die YUI generiert, ein "Zugriff verweigert" -Problem verursacht. Dies liegt daran, dass bereits eine solche Datei zuvor generiert wurde und dass sie ein Teil des Projekts ist, sodass sie schreibgeschützt ist. Wir können es jedoch aus dem Projekt entfernen und es sollte gut schaffen. Das Problem besteht darin, dass die generierte Datei nicht in das eigentliche Bereitstellungspaket aufgenommen wird.
Ich habe vor Ort kein Problem, weil ich ein Befehlsskript zum Erstellen eines Ereignisses habe, das die vorhandenen Dateien löscht. Dies funktioniert anscheinend nicht auf dem Build-Server. Vielleicht fehlt dem tfs-Kontextbenutzer die Erlaubnis, ich weiß es nicht.
Gibt es jemanden, der ähnliche Probleme gehabt haben könnte?
Update 21/11: Die Frage mag etwas vage sein. Um es zu vereinfachen, sagen wir einfach, ich möchte, dass es so funktioniert wie es lokal funktioniert:
%Vor%Dies ist in der Pre-Build-Befehlszeile unter Projekteigenschaften - & gt; Erstellen Sie Ereignisse.
Das Skript entfernt die Dateien vor der Generierung der YUI-Datei und somit gibt es keine zu überschreibende Datei. Könnte es so einfach sein, dass der Benutzerkontext, der den TFS-Build ausführt, nicht über ausreichende Änderungsrechte verfügt?
LÖSUNG:
Am Ende des Pre-Build-Ereignisses hatten wir folgenden Code:
%Vor%/ Mattias
Wenn die Dateien Teil Ihres Projekts sind und aus dem TFS-Repository heruntergeladen wurden, entfernen Sie immer zuerst das schreibgeschützte Flag, wenn Sie eine Verarbeitung für sie vornehmen müssen, z. B. Löschen. In deinem Skript tu das zuerst:
%Vor%Sollte in der Lage sein, sie danach gut zu löschen. Es ist wahrscheinlich kein Berechtigungsproblem, da das Konto, das zum Herunterladen der Dateien verwendet wird, auch das Konto ist, mit dem sie gelöscht werden.
Tags und Links msbuild tfs2010 tfsbuild build-process build-automation