Quelle est la manière la plus efficace de déployer un site Web?


8

Je connais plusieurs façons de déployer des sites Web:

  • FTP
  • Exporter depuis le contrôle de code source
  • Baser le site sur un contrôle de code source

Je peux voir quelques avantages et inconvénients de chacun. Existe-t-il un consensus sur la manière la plus efficace de déployer de nouveaux sites OU des modifications de site?


1
Très étroitement lié à d'autres questions, et plutôt subjectif. Cela pourrait devenir un débat. En fait, si cela implique un contrôle de version, cela se transforme généralement en débat.
Tim Post

1
Mon intérêt n'est pas tant le contrôle des sources que la comparaison de différentes techniques de déploiement. Je pense que nous pouvons nous attendre à des comparaisons raisonnables des avantages et des inconvénients.
Grant Palin

Réponses:


6

Ce qui a le mieux fonctionné pour nous sur Stack Overflow (et répond au point 2 du test Joel ) est une solution d' intégration continue , permettant la construction en un clic de nos sites de production, ainsi que des constructions automatisées de notre niveau développeur lors de l'enregistrement de nouveau code. .

Nous utilisons la saveur .NET de CruiseControl , avec le nom passionnant .. CruiseControl.NET :)

Certaines des fonctionnalités clés incluent:

  • Intégration avec une variété de systèmes de contrôle de source
  • Intégration avec d'autres outils externes, tels que NAnt et Visual Studio
  • Peut créer plusieurs projets sur un seul serveur
  • Gestion et rapports à distance

Nous avons été extrêmement satisfaits de ce logiciel open source et le recommanderions à toute équipe souhaitant rationaliser son processus de construction.


2
Je pensais que Caps Lock était un régulateur de vitesse ... pour cool
Mark Henderson

3

Je préfère les déploiements automatisés et reproductibles. Vous voudrez certainement commencer par une balise de contrôle source afin de savoir exactement ce que vous avez déployé et de le redéployer à tout moment. Ensuite, utilisez des scripts pour pousser cela vers le serveur, quelque chose comme Capistrano, ou juste un script bash fait maison ou quelque chose.

Pour les sites qui utilisent du code compilé, si les serveurs de test correspondent aux serveurs de production, il est probablement préférable de compiler le code une fois et de pousser cette même version compilée en production une fois testée.


1

J'utilise des scripts personnalisés. Pour les sites Web statiques (basés sur HTML), j'utilise des répertoires doubles avec des versions nouvelles et installées, puis le script exécute un récursif diffsur les versions nouvelles et installées et télécharge uniquement les fichiers qui ont changé.


Quelle langue est le script? frapper? Voulez-vous nous donner un coup d'œil?
paan

@paan: C'est en Perl. Je suis désolé mais je ne peux pas libérer le script entier.

0

J'utilise git avec quelques crochets personnalisés pour le déploiement. Cela a même l'avantage que je peux exécuter plusieurs branches pour les sites de développement / test / bêta / production et faire quelques CI. Pour les correctifs urgents, git permet toujours de sélectionner des commits spécifiques d'une branche à l'autre.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.