Как вы развертываете свои приложения ASP.NET на живых серверах?

Я ищу различные методы / инструменты, которые вы используете для развертывания проекта веб-приложения ASP.NET (NOT Веб-сайт ASP.NET) к производству?

Я особенно заинтересован в том, что рабочий процесс происходит между моментом, когда ваш сервер Continuous Integration Build удаляет двоичные файлы в каком-то месте, и временем, когда первый пользовательский запрос достигает этих двоичных файлов.

Are you using some specific tools or just XCOPY? How is the application packaged (ZIP, MSI, ...)?

When an application is deployed for the first time how do you setup the App Pool and Virtual Directory (do you create them manually or with some tool)?

When a static resource changes (CSS, JS or image file) do you redeploy the whole application or only the modified resource? How about when an assembly/ASPX page changes?

Do you keep track of all deployed versions for a given application and in case something goes wrong do you have procedures of restoring the application to a previous known working state?

Не стесняйтесь, чтобы завершить предыдущий список.

И вот что мы используем для развертывания наших приложений ASP.NET:

We add a Web Deployment Project to the solution and set it up to build the ASP.NET web application We add a Setup Project (NOT Web Setup Project) to the solution and set it to take the output of the Web Deployment Project We add a custom install action and in the OnInstall event we run a custom build .NET assembly that creates an App Pool and a Virtual Directory in IIS using System.DirectoryServices.DirectoryEntry (This task is performed only the first time an application is deployed). We support multiple Web Sites in IIS, Authentication for Virtual Directories and setting identities for App Pools. We add a custom task in TFS to build the Setup Project (TFS does not support Setup Projects so we had to use devenv.exe to build the MSI) The MSI is installed on the live server (if there's a previous version of the MSI it is first uninstalled)

Ответы на вопрос(13)

Ваш ответ на вопрос