2008-09-03 6 views
8

Je cherche quelque chose qui peut copier (de préférence seulement changé) des fichiers d'une machine de développement à une machine de mise en scène et enfin à un ensemble de machines de production. Un mode "what if" serait bien comme la possibilité de "rollback" le dernier déploiement. Les migrations de base de données ne sont pas une fonctionnalité nécessaire. MISE À JOUR: Un outil gratuit/bon marché serait formidable, mais le coût n'est pas la seule préoccupation. Un outil capable de gérer le déploiement d'un environnement à l'autre (dev-> staging-> production plutôt que d'une machine de développement vers chaque environnement) serait également idéal.Qu'est-ce qu'un bon outil de déploiement pour les sites Web sur Windows?

L'autre avantage appréciable est la possibilité de copier uniquement les fichiers modifiés. Certains de nos anciens sites contiennent des centaines de fichiers .asp.

Répondre

0

Nous avons utilisé UnleashIt (nom malencontreux que je connais) qui était bien personnalisable et vous permettait d'enregistrer des profils pour les déployer sur différents serveurs. Il dispose également d'une fonctionnalité de "sauvegarde" qui sauvegardera vos fichiers de production avant le déploiement afin que la restauration soit facile.

+0

désolé voté en bas parce que ça tombe en panne pour moi sur Windows Server 2008. S'il vous plaît ajouter commentaire si vous ressentez le contraire. ressemble à un petit outil bien - je viens de passer à l'option suivante ... –

1

Vous ne spécifiez pas si vous utilisez Visual Studio .NET, mais il y a quelques outils intégrés dans Visual Studio 2005 et 2008:

outil de copie de site Web - essentiellement un outil de synchronisation visuelle, il met en surbrillance les fichiers et vous permet de copier de l'un à l'autre. Manuel, construit dans Visual Studio. Aspnet_compiler.exe: permet de précompiler des sites Web.

Bien sûr, vous pouvez également créer un package de déploiement Web et le déployer en tant que MSI.

J'ai utilisé une combinaison de Cruise Control.NET, nant et MSBuild pour compiler et échanger des fichiers de configuration pour des environnements spécifiques et copier les fichiers dans un répertoire de sortie de construction. Ensuite, nous avons eu un autre script nant pour faire la copie de fichier (et exécuter des scripts de base de données si nécessaire). Pour un retour en arrière, nous sauvegardions tous les déploiements antérieurs, donc théoriquement, nous revenions simplement à redéployer la dernière version de travail (et à restaurer la base de données).

2

@Sean Carpenter pouvez-vous nous en dire un peu plus sur votre environnement? La solution devrait-elle être libre? simple? Je trouve que le robocopy est assez sophistiqué pour ce genre de choses. Envelopper dans un fichier batch et vous êtes prêt à partir. C'est une xcopy glorifiée, mais déployer mon site web n'est pas vraiment difficile. Il suffit de copier les fichiers.

En ce qui concerne les rollbacks ... Vous utilisez le contrôle de source, n'est-ce pas? Tirez juste la vieille source de là. Ou, dans votre fichier batch, copiez AUSSI le déploiement dans un autre dossier appelé website yyyy.mm.dd afin que vous disposiez d'un joli dossier prêt à partir en cas d'urgence.

Regardez la commande for pour plus de détails sur la façon d'obtenir les parties de la date.

robocopy.exe 
for /? 

Oui, c'est un "hack" total mais il déplace bien les fichiers.

2

Pour certains scénarios j'ai utilisé un appelé SyncBack (Download here) produit freeware .

Il offre une synchronisation de fichiers complexe et en plusieurs étapes (système de fichiers ou FTP, etc., compression, etc.). Le programme a une belle interface utilisateur graphique. Vous pouvez définir des profils et les grouper/les exécuter ensemble.

Vous pouvez définir un filtre sur les types de fichiers, les noms, etc. et exécuter des commandes/programmes après l'exécution du travail. Il y a aussi un journal de travail fourni sous forme de rapport html, qui peut vous être envoyé par courriel si vous planifiez le travail.

Il existe également une version professionnelle du logiciel, mais pour les tâches courantes, le logiciel gratuit devrait fonctionner correctement.

alt text

+0

assez cool. opérationnel dans 2 minutes. juste un peu déroutant que pour le transfert FTP, vous devez cliquer sur avancé, configurer les paramètres, puis cliquez sur l'icône du répertoire à côté de «destination» pour se connecter –

0

J'ai renoncé à essayer de trouver un bon produit gratuit qui fonctionne. J'ai alors trouvé le Sync Toy 2.0 de Microsoft qui, bien que manquant d'options, fonctionne bien. MAIS j'ai besoin de déployer sur un serveur distant. Depuis que je me connecte avec les services de terminaux j'ai réalisé que je peux sélectionner mon disque dur local quand je me connecte et puis dans l'explorateur sur le serveur distant je peux ouvrir \\tsclient\S\MyWebsite sur le serveur distant. J'utilise ensuite synctoy avec ce chemin et je le synchronise avec mon serveur. Semble fonctionner plutôt bien et rapidement jusqu'à présent ...

0

Peut-être rsync plus quelques scripts personnalisés feront l'affaire.

+0

Pas sûr de ce qui serait nécessaire pour exécuter rsync sur Windows. –

0

Essayez repliweb. Il gère l'annulation complète des versions précédentes des fichiers. Je l'ai utilisé tout en travaillant pour un client qui a exigé son utilisation et je, suis devenu un grand fan de celui-ci, partiularily:

  • Rollback aux versions précédentes de code
  • d'authentification et des règles pour les différents rôles des utilisateurs
  • déployer sur plusieurs environnements
  • rapports complets à l'utilisateur par e-mail/logs statiing ce qui a changé, ce que la version actuelle est etc.
Questions connexes