Je suis à la recherche de différentes techniques/outils que vous utilisez pour déployer un ASP.NET projet d'application web (PAS ASP.NET site web) à la production?
Je suis particulièrement intéressé de le flux de travail qui se passe entre le moment de votre version d'Intégration Continue server supprime les fichiers binaires à un certain endroit et le moment de la première demande de l'utilisateur frappe ces binaires.
Êtes-vous à l'aide de certains outils spécifiques ou tout simplement XCOPY? Comment est l'application emballés (ZIP, MSI, ...)?
Lorsqu'une application est déployée pour la première fois comment le programme d'installation de l'Application de la Piscine et d'un Répertoire Virtuel (ne vous créez manuellement ou avec un outil)?
Lorsqu'une ressource statique changements (CSS, JS ou un fichier d'image) ne vous redéployer l'ensemble de l'application ou seulement la modification de la ressource? Comment savoir quand un assembly/page ASPX changements?
Avez-vous garder une trace de toutes les versions déployées pour une application donnée et dans le cas où quelque chose va mal, avez-vous des procédures de restauration de l'application d'un précédent état de marche connu?
N'hésitez pas à terminer la liste précédente.
Et voici ce qui nous permet de déployer notre ASP.NET applications:
- Nous ajoutons un Projet de Déploiement Web de la solution et de le configurer pour construire le ASP.NET application web
- Nous ajoutons un Projet d'Installation (PAS de Projet d'Installation Web) à la solution et le configurer pour prendre la sortie de la Projet de Déploiement Web
- Nous ajoutons une installation personnalisée d'action et dans le OnInstall événement, nous avons exécuté une version personnalisée .NET de l'assemblée qui crée une Application d'une Piscine et d'un Répertoire Virtuel dans IIS à l'aide du Système.DirectoryServices.DirectoryEntry (Cette tâche est effectuée uniquement la première fois qu'une application est déployée). Nous avons le soutien de plusieurs Sites Web dans IIS, l'Authentification pour les Répertoires Virtuels et la définition des identités pour les Pools d'Application.
- Nous avons ajouter une tâche personnalisée dans TFS pour construire le Projet d'Installation (TFS ne prend pas en charge les Projets d'Installation nous avons donc dû utiliser devenv.exe pour construire le MSI)
- La MSI est installé sur le serveur live (si il y a une version précédente de la MSI c'est d'abord désinstallé)