2010-08-07 6 views
1

Comment puis-je déployer dans un environnement d'hébergement partagé ... code et base de données (SQL complet). Quelle est votre méthode préférée pour accéder à un projet d'application Web ASP.NET de 50 Mo et à une base de données sur un serveur en direct avec des ports FTP et SQL Management Studio accessibles?VS2010 Déploiement ASP.NET

Après une journée d'exploration de la mine est: - Utilisez le Web.Debug.config pour permettre facilement les différentes chaînes de connexion, smtp etc

+0

Merci pour les modifications Rob - était emporté avec 007 références :-) –

Répondre

1

FileZilla deployme Ce n'est pas grave tant que cela ne vous dérange pas le temps d'arrêt court que cela peut causer. Pendant le déploiement, le site peut être dans un état incohérent (par exemple, vous avez déployé un fichier .aspx qui fait référence à du code-behind dans une DLL qui n'est pas encore présente). Ainsi, les visiteurs du site pendant ce temps peuvent être confrontés à des erreurs - si vous n'attrapez pas ces erreurs, ils verront l'écran jaune de la mort. Cela disparaîtra une fois tous les fichiers déployés.

est ici un processus qui a fonctionné pour moi dans le passé, pour un déploiement minimum de temps à un seul serveur:

  1. Sur le serveur de production, copier tout le code de l'emplacement en direct (par exemple c: \ Sites \ MySite) vers un emplacement de sauvegarde (par exemple c: \ Sites \ MySite_bak)
  2. Changez la racine virtuelle du site c: \ Sites \ MySite en c: \ Sites \ MySite_bak. Cela entraînera des retards pour les visiteurs du site, car ASP.NET doit réajuster les pages ASPX; mais les visiteurs ne verront pas d'erreurs.
  3. Utilisez FileZilla pour déployer sur c: \ Sites \ MySite, avec "remplacer si la source est plus récente"
  4. Modifiez la racine virtuelle du site de c: \ Sites \ MySite_bak vers c: \ Sites \ MySite. Cela va passer atomiquement le site à la nouvelle version. Il y aura un autre délai JIT.
  5. Conservez la version de sauvegarde sur le serveur actif au cas où vous deviez annuler vos modifications.

Si vous effectuez également des modifications de schéma de base de données, vous pouvez le faire en même temps que (4). Ou si les modifications sont compatibles avec l'ancienne version du code, vous pouvez les faire plus tôt.

J'ai supposé que vous n'aviez qu'un seul serveur. Si vous disposez d'une batterie de serveurs, vous pouvez effectuer des déploiements en déplaçant un serveur à la fois hors du pool d'équilibrage de charge.

+0

Je suppose également que vous avez accès à administrer IIS sur le serveur en direct - si vous ne le faites pas, cette approche ne fonctionnera pas. –

+0

Merci Richard - Je ne m'inquiète pas pour les temps d'arrêt car le projet n'est pas encore opérationnel. Mon mal de tête principal est le processus longwinded ... s'amusant simplement en cherchant une meilleure manière. Merci encore pour les réflexions sur les trucs en direct. –

+0

Une autre option pour modifier le répertoire dans IIS, vous pouvez placer un fichier app_offline.htm dans le répertoire. IIS servira ce fichier pour tous les hits sur le site, en se débarrassant des écrans jaunes potentiels. L'application est toujours hors ligne, mais vous pouvez afficher un message "Mise à jour, veuillez réessayer dans une minute". ou n'importe quel code HTML que vous voulez. –

Questions connexes