TFS-Build-Workflow Ändern, Ordner/Datei-Attribute Lesen-Nur Lesen/Schreiben?
In einer unserer web-Anwendungen, ist es erforderlich, dass einige HTML-Seiten bearbeitet werden in einer GUI-Schnittstelle, die wir für den Benutzer erstellt. Leider ist die direkte Schnittstelle liest/schreibt von einer Seite auf die server (auch in der wwwroot). Eine weitere Seite auf dem server liest, und nur zeigt es.
Was habe ich jetzt getan wird, verändert unsere gesamte build-Prozess, so dass nichts manuell mehr und ich bin jetzt mit dem build-workflow mit TFS/VS 2010, was schön ist.
Aber TFS automatisch stellt alles in nur-lese-Modus, wenn es setzt den code.
Gibt es eine Möglichkeit, programmgesteuert (bei jedem Schritt in den Prozess), und ändern Sie die Attribute von einem Ordner/Datei von nur-Lesen-Lesen-schreiben, so dass die web-Schnittstelle noch funktioniert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie über das hinzufügen einer benutzerdefinierten code-Aktivität, die ausgeführt wird post-Bereitstellung zu aktualisieren, die Attribute der Dateien an, die nicht FileAttributes.Normal? Diese Aktivität sollte wohl laufen auf den controller an das Ende der build.
Möchten Sie vielleicht check out Ewald Hofman ist Serie von build-Anpassung. Ihr build service-Konto wird wahrscheinlich über die richtigen Berechtigungen zum aktualisieren der bereitgestellten Datei-Attribute.
Hoffe, das hilft.
Stieß ich auf diese & nehme an, es ist mit dieser Frage verbunden, wie gut.
Was @Duat deutet für mich gearbeitet hat, im Rahmen der Build-Agent-server. Doch in deiner anderen Frage, die Sie erwähnen, ein Netz-Laufwerk - also ich nehme an, du 're reden über Datei(en), die Ihren Wohnsitz entweder in der drop-Position des builds, oder auf dem Ziel-computer, auf dem MSBuild/MSDeploy setzt Ihre Lösung.
Werde ich vorher mit der ersten Annahme (ja, wir 'll konzentrieren sich auf Drop-Position), aber es sollte ähnlich zu behandeln die Angelegenheit in jedem Fall.
Die Idee basiert auf einem strategisch Platzierten 'xcopy'. ('xcopy' per default setzt alle Datei-Attribute in Lesen-schreiben während der Ausführung)
Der erste Schritt ist die Erstellung einer benutzerdefinierten Aktivität legen Sie die Dateien, die Sie müssen in lese-und Schreibzugriff. Einen schnellen ersten Entwurf der Aktivität kann dies (gemeint ist zum ändern der Attribute einer Datei, nicht von dir):
Den zweiten Schritt, jetzt haben Sie
MakeFileWritable
in Ihre Projektmappe erstellen, ist die änderung der build-definition von diesemin sowas
Die Datei in
MakeFileWriteable
sollte innerhalb der BuildAgent und ist die FROMFILE in die InvokeProcess folgt, dass:TOFILE ist, wo die Datei landen soll.
Daran denken, das "/Y" - Argumente, da Sie 'll werden überschreiben Sie die Datei.