Szukam różnych technik / narzędzi, których używasz do wdrażania projektu aplikacji sieci Web ASP.NET ( NIE witryny sieci Web ASP.NET) do produkcji?
Szczególnie interesuje mnie przepływ pracy między momentem, w którym serwer Continuous Integration Build upuszcza pliki binarne w jakiejś lokalizacji, a momentem, w którym pierwsze żądanie użytkownika trafia do tych plików binarnych.
Używasz jakichś konkretnych narzędzi czy po prostu XCOPY? Jak jest spakowana aplikacja (ZIP, MSI, ...)?
Kiedy aplikacja jest wdrażana po raz pierwszy, jak skonfigurować pulę aplikacji i katalog wirtualny (czy tworzysz je ręcznie czy za pomocą jakiegoś narzędzia)?
Kiedy zmienia się zasób statyczny (CSS, JS lub plik obrazu), czy ponownie wdrażasz całą aplikację, czy tylko zmodyfikowany zasób? Co powiesz na zmianę strony zestawu / ASPX?
Czy śledzisz wszystkie wdrożone wersje dla danej aplikacji, a jeśli coś pójdzie nie tak, masz procedury przywracania aplikacji do poprzedniego znanego stanu roboczego?
Zapraszam do uzupełnienia poprzedniej listy.
A oto, czego używamy do wdrażania naszych aplikacji ASP.NET:
- Dodajemy projekt wdrażania sieci Web do rozwiązania i konfigurujemy go do tworzenia aplikacji sieci Web ASP.NET
- Dodajemy projekt konfiguracji ( NIE projekt konfiguracji sieciowej) do rozwiązania i ustawiamy go tak, aby pobierał dane wyjściowe projektu wdrożenia internetowego
- Dodajemy niestandardową akcję instalacji iw zdarzeniu OnInstall uruchamiamy niestandardowy zestaw kompilacji .NET, który tworzy pulę aplikacji i katalog wirtualny w usługach IIS przy użyciu System.DirectoryServices.DirectoryEntry (to zadanie jest wykonywane tylko przy pierwszym wdrożeniu aplikacji) . Obsługujemy wiele witryn sieci Web w usługach IIS, uwierzytelnianie dla katalogów wirtualnych i ustawianie tożsamości dla pul aplikacji.
- Dodajemy niestandardowe zadanie w programie TFS, aby zbudować projekt instalacji (TFS nie obsługuje projektów instalacyjnych, więc musieliśmy użyć devenv.exe do zbudowania MSI)
- MSI jest instalowany na serwerze rzeczywistym (jeśli istnieje poprzednia wersja MSI, jest najpierw odinstalowywana)