Próbuję wymyślić sposób wdrożenia kodu ASP.NET przy możliwie najmniejszych zakłóceniach witryny. Jedną z myśli było skonfigurowanie witryny do obsługi z węzła NTFS c:\www\example.com
gdzie
c:\www\example.com -> c:\www\example.com_r1234
Następnie, po wdrożeniu nowego kodu, zostaje on skopiowany c:\www\site.com_r1235
i połączenie zostaje przekierowane na
c:\www\example.com -> c:\www\example.com_r1235
Więc moje pytanie dotyczy tego, jaki wpływ może to mieć na bieżące żądania w IIS? Jakie inne wady może to mieć z punktu widzenia reakcji IIS na zmianę (jeśli w ogóle)? Czy będzie to tak płynne dla końcowego użytkownika strony, jak mam nadzieję?
(Zastanawiałem się nad zmianą katalogu głównego witryny za pomocą wiersza polecenia, ale naprawdę nie podoba mi się pomysł rekonfiguracji usług IIS z powodu niepotrzebnej rezygnacji z domeny aplikacji lub puli aplikacji, ale nie wiem zbyt wiele na temat co się stanie, gdy skonfigurowana ścieżka fizyczna witryny zostanie zmieniona podczas obciążenia)
Dla jasności, moim jedynym zmartwieniem jest tutaj doświadczenie moich użytkowników końcowych. Moim celem jest unikanie dla nich zakłóceń, a nie wygody dla mnie.
źródło
Odpowiedzi:
Wygląda na to, że ten cel i proponowane rozwiązanie nie są do siebie dopasowane, ponieważ dla każdego wdrożenia masz teraz do czynienia z dodatkową pracą lub skryptami.
Jedną z rzeczy, które widziałem, jest instalacja klienta svn na serwerze produkcyjnym, a strona produkcyjna to wypisana kopia określonej lokalizacji / gałęzi w drzewie kontroli źródła. W ten sposób musisz przynajmniej zaktualizować zmienione pliki dla nowych wdrożeń.
źródło
Za moim katalogiem głównym utworzyłem folder o nazwie
_images
następnie skopiowałem do niego kilka plików gif. Następnie utworzyłem dowiązanie symboliczne NTFS w moim katalogu głównym za pomocą
W programie Visual studio 2010 „Pokaż wszystkie pliki”, a następnie odświeżam ... i dołączam nowe „obrazy internetowe” do mojego projektu. Mogę teraz wskazać ...
Po uruchomieniu aplikacji działa również dobrze na moim komputerze lokalnym.
Nie wiem, czy to działa na prawdziwym serwerze (IIS 7), dopóki infrastruktura się tym nie zajmie, czy ktoś wie jakieś problemy, dlaczego to nie działałoby w produkcji?
Wydaje mi się, że tak długo, jak istnieją prawa, powinien, a jeśli tak, to świetny sposób na uproszczenie udostępniania folderów (wszystkich typów) między aplikacjami internetowymi.
Nie próbowałem jeszcze tego wyrażać w TFS, więc jeśli ktoś ma na ten temat swoją opinię, daj nam znać!
źródło
To nie zadziała, ponieważ IIS może myśleć, że plik web.config został zmieniony przez inny program. Usługi IIS prawdopodobnie zgłoszą wyjątek System.Configuration.ConfigurationErrorsException. Sugerowałbym napisanie jakiegoś skryptu, aby po prostu zmienić katalog główny witryny.
źródło