Ich habe eine Website als azurblaue Webanwendung gehostet. Es ist eine asp.net-Website, die in einer vs-Lösung ist. Auf dem Ordner dieser Website befindet sich meine Produktdokumentation, alles als statische Ressourcen (HTML und Bilder). Diese statischen Ressourcen befinden sich in einem Ordner in anderen vs Lösung (das ist die tatsächliche Produktlösung). Beide Lösungen basieren auf TFS in VSO.So aktualisieren Sie einen Ordner in einem Azure AppService beim Einchecken in ein VSO TFS-Repository
Ab sofort habe ich einen Webjob im Kontext der Website, die im Wesentlichen einen "tfs get" im Dokumentationsordner macht und den Inhalt in den Dokumentationsordner auf der Website legt. Dies funktioniert, aber der vms, auf dem die Website ausgeführt wird, ändert sich ziemlich häufig und der Mechanismus zum Erstellen eines Arbeitsbereichs ist an den Computer und nicht an das Festplattenlaufwerk gebunden. So kann ich nicht nur die Änderungen bekommen, aber ich muss immer den ganzen Inhalt bekommen, der jetzt ungefähr 20 Minuten dauert und unnötige Last auf der Webseite verursacht. (Dies ist der Grund, warum ich diesen Webjob nur einmal pro Woche benutze.)
Jetzt suche ich nach einem besseren Weg, dies zu tun. Ich möchte nur die Dateien, die sich geändert haben, erhalten, was dies viel schneller macht und CPU/Laufwerk teuer macht.
fand ich keinen Weg, um einen Arbeitsbereich auf dem Webserver zu erstellen, die nicht jedes Mal ändern, vm die webservers verschwinden. (Wenn es möglich wäre, den Arbeitsbereich an das Laufwerk anzuhängen anstatt an den Computernamen, würde das das Problem lösen.)
Ich habe auch meine fortlaufende Build-Definition betrachtet, die ich für die Produktlösung ausgeführt habe. Als Teil davon denke ich, dass es möglich ist, eine Bereitstellung zu erstellen, bei der der Dokumentationsordner in den Dokumentationsordner der App Services kopiert wird. Auf diese Weise konnte ich den "speziellen" Webjob loswerden, aber ich würde immer noch alle Docs-Dateien kopieren. (Auch der Build-Agent dafür läuft auf dem Gelände, also müsste ich diese Dateien auch aus den Räumlichkeiten in die Cloud kopieren, wenn sie bereits in vso vorhanden sind.) Also im Grunde glaube ich nicht, dass diese Option für meinen Fall sehr nützlich ist.
Offensichtlich, wenn ich die statischen Docs-Ressourcen von der Produktlösung auf die Website-Lösung verschoben habe, könnte ich einfach die automatische Bereitstellung verwenden, die für Website-Projekte von vso zu azure Web-App verfügbar ist. Leider kann ich aus verschiedenen anderen Gründen (von denen die statischen Ressourcen teilweise automatisch aus den CS-Quellen in der Produktlösung erstellt werden) den Dokumentenordner einfach nicht von der Produktlösung auf die Website-Lösung verschieben.
So hat jemand einen Vorschlag für ein Verfahren, in dem ich die Dokumentationsordner in dem Web-App basierend auf Änderungen in den entsprechenden VSO Ordnern aktualisieren konnte?