2011-04-27 3 views
2

J'ai donc une application Web .net que j'utilise pour publier la fonction «publier» de VS 2010 sur un serveur. Chaque instance de l'application possède sa propre chaîne de connexion unique, pointant vers sa propre base de données.Mise à jour en masse des applications Web .net

J'ai 80 exemples de cette application. Je voudrais être en mesure de mettre à jour 1 instance avec une version «maîtresse» de l'application, puis avoir les 79 autres mises à jour eux-mêmes, mais conserver leur chaîne de connexion existante.

Quel est le moyen le plus commun/standard d'y parvenir?

+0

Un script xcopy ou powershell simple devrait être capable de faire cela. –

+0

@amit_g Je ne pense pas que xcopy soit si puissant. – Aristos

+0

Aurait dû être plus clair - xcopy à partir d'un lot DOS. –

Répondre

0

Grâce aux propriétés du fichier web.config (solution explorer), vous pouvez définir l'action "Build Action" sur "none".

Puis déployez la webapp dans un répertoire local. C'est maintenant sans ce fichier web.config. Puis copiez ce répertoire local sur vos 80 applications.

Vous pourriez peut-être automatiser cette étape.

+0

Donc, il n'y a pas d'outils conçus pour ce scénario? Je pensais que ce serait un scénario assez commun. Red-gate a un outil comme celui-ci pour SQL Server (SQL Compare). J'espérais qu'il y aurait un produit axé sur ceci - ou un outil de MS – kaes

+0

Je pense que c'est probablement l'approche la plus simple. Ceci combiné avec la suggestion de xcopy ci-dessus – kaes

0

Il existe des outils de déploiement simples qui peuvent prendre en charge les packages binaires d'adaptation sur plusieurs serveurs tout en conservant une configuration personnalisée. KwateeSDCM est un outil gratuit qui peut le faire. Vous pouvez le rechercher sur freshmeat

(Je ne semble pas capable de répondre à votre commentaire alors j'ai édité ma réponse) Ken - ouais, le doc est vraiment mince. Ils ont un didacticiel vidéo qui est en réalité beaucoup plus utile et j'ai aussi reçu des conseils d'un de leurs développeurs. Honnêtement, je ne sais pas grand-chose sur asp.net mais de ce que vous décrivez, il ressemble beaucoup à ce que je configure avec mes applications web tomcat (war) sur mes 30 serveurs. Vous définissez un "package" qui est simplement une archive zippée (ou tarée) des fichiers/exécutables que vous devez déployer, configurez les serveurs cibles puis dites à sdcm quel paquet va sur quel serveur. Il existe une sorte de concept de variable d'environnement que vous pouvez utiliser dans vos fichiers de configuration (dans votre cas,% {connection_string}) a des espaces réservés qui sont remplacés lors de l'installation par les valeurs spécifiques au serveur spécifiées dans votre configuration sdcm. Avec environ une demi-journée de travail, je parviens à configurer kwateesdcm de sorte que d'un simple clic, il se connecte à chaque serveur, arrête tomcat, copie sur mes archives, les développe là où je dois, substitue les paramètres spécifiques au serveur et redémarre tomcat changements en compte. Ce qui est génial, c'est que sdcm archive aussi les archives/configurations précédentes, ce qui fait que les mises à jour sont très stressantes, car je peux rapidement revenir à une ancienne version stable si mes derniers problèmes rencontraient des problèmes. Une chose agaçante est qu'il nécessite un serveur ssh sur chaque serveur cible. J'ai surmonté cela en installant winsshd sur mes serveurs

+0

Salut Macolm - donc j'ai vérifié le site Web de KwateeSDCM, mais je ne pouvais rien voir à propos d'asp.net, et la documentation était plutôt mince. L'avez-vous utilisé avec des applications asp.net? – kaes

Questions connexes