J'essaie de trouver un moyen de déployer le code ASP.NET avec le moins de perturbation possible du site. Une idée était de mettre en place le site à desservir à partir d'une jonction NTFS c:\www\example.com
où
c:\www\example.com -> c:\www\example.com_r1234
Ensuite, lorsque le nouveau code est déployé, il est copié c:\www\site.com_r1235
et la jonction reciblée vers
c:\www\example.com -> c:\www\example.com_r1235
Donc, ma question est quel effet cela pourrait avoir sur les demandes actuelles dans IIS? Quels autres inconvénients cela pourrait-il avoir du point de vue de la réaction d'IIS au changement (le cas échéant)? Est-ce que cela sera aussi transparent pour l'utilisateur final du site que j'espère?
(J'ai envisagé de modifier la racine Web du site via la ligne de commande, mais je n'aime vraiment pas l'idée de reconfigurer IIS en raison de tout domaine d'application ou désabonnement de pool d'applications qui pourrait se produire, mais je ne sais pas grand-chose sur que se passe-t-il lorsque le chemin physique configuré d'un site est modifié en cours de chargement)
Pour être clair, ma seule préoccupation ici est l'expérience de mes utilisateurs finaux. Mon objectif est d'éviter les dérangements pour eux, pas la commodité pour moi.
la source
Réponses:
Il semble que cet objectif et votre solution proposée ne soient pas alignés, car vous avez maintenant un tas de travail supplémentaire ou de scripts impliqués pour chaque déploiement.
Une chose que j'ai vue est d'installer un client svn sur le serveur de production, et le site de production est une copie extraite d'un emplacement / d'une branche spécifique sur l'arborescence de contrôle de source. De cette façon au moins, vous n'avez qu'à mettre à jour les fichiers modifiés pour les nouveaux déploiements.
la source
J'ai créé un dossier derrière ma racine Web appelé
_images
puis copié un tas de fichiers gif en elle. J'ai ensuite créé un lien symbolique NTFS sur ma racine en utilisant
Dans Visual studio 2010, je "Afficher tous les fichiers" puis actualiser ... et inclure les nouvelles "webimages" dans mon projet. Je peux maintenant signaler ...
Lorsque j'exécute l'application, elle fonctionne également très bien sur ma machine locale.
Je ne sais pas si cela fonctionne sur le vrai serveur (IIS 7) jusqu'à ce que l'infrastructure ait une idée, est-ce que quelqu'un sait pourquoi cela ne fonctionnerait pas en production?
Je pense que tant que les droits sont là, il devrait, et si c'est le cas, quel excellent moyen de simplifier le partage de dossiers (de tous types) entre les applications Web.
Je n'ai pas encore essayé d'exprimer cela dans TFS, donc si quelqu'un a des commentaires à ce sujet, faites-le nous savoir!
la source
Cela ne fonctionnera pas car IIS peut penser que le fichier web.config a été modifié par un autre programme. IIS lèvera probablement une exception System.Configuration.ConfigurationErrorsException. Je suggérerais d'écrire une sorte de script pour simplement changer le répertoire personnel du site.
la source