2010-12-01 38 views
3

Nous souhaitons ajouter un serveur de transfert et un contrôle de version à notre pipeline de développement. Notre site est une application web complexe fonctionnant sur un serveur Linux distant avec PHP, MySQL et Apache. Nous venons de configurer Subversion sur le LAN du bureau et l'avons fait fonctionner dans Dreamweaver CS5. Nos machines de développement fonctionnent sous Windows.Utilisation de Subversion et Pushing to Staging, puis Live Sever

La question est de savoir comment ajouter au mieux un serveur de transfert à cette configuration. Nous sommes une petite équipe, 3 développeurs, donc nous n'avons pas besoin d'une solution trop robuste/complexe. Ce que je ne comprends pas, c'est comment pousser les changements de notre repo Subversion (qui est situé sur l'une des machines du développeur) à un serveur de transfert ou le serveur live.

  1. Je lis beaucoup de gens qui écrivent des crochets pour cela, mais ce que cela signifie que nous devons installer Subversion sur le serveur de mise en scène et le serveur en direct? Je préférerais ne pas faire ça. Je souhaite télécharger automatiquement des fichiers sur le serveur de stockage intermédiaire lorsque les développeurs les soumettent à Subversion. Comment cela peut-il être fait? Puis j'ai besoin d'un processus automatisé pour télécharger des fichiers depuis le serveur de stockage vers le serveur Live. C'est la partie que je ne comprends vraiment pas. Surtout parce que je ne veux pas que Subversion soit installé sur Live. Comment cela est-il typiquement fait?

  2. Tous les fichiers du serveur de transfert sont-ils placés sur Live? Ou y a-t-il un moyen de ne pousser que ceux qui ont changé depuis la poussée précédente? J'espérais utiliser Windows XAMPP pour configurer le serveur de transfert, mais notre serveur Live est Linux, et certains de nos codes de site ont des chemins de fichiers spécifiques à Linux, qui semblent ne pas fonctionner dans Windows. Comment ce problème est-il généralement traité? Est la seule solution pour créer un nouveau serveur Linux Staging? Je préfère éviter cela si possible.

  3. Sur notre site, les utilisateurs peuvent télécharger des images, qui sont stockées dans un dossier distinct en dehors de la racine du site. Est-ce que Windows XAMPP peut fonctionner avec une configuration? Notre plus grand défi en ce moment est de s'assurer que le même code fonctionne sous Linux/Windows. Quelles sont les choses à surveiller? Est-ce même possible en théorie?

Merci!

+0

Trop de questions en une. Pouvez-vous réduire la portée un peu? – RedFilter

Répondre

0
  1. Non requis. Les hooks peuvent s'exécuter sur votre serveur de contrôle de version. Les hooks doivent être capables de pousser le build vers le serveur de transfert. Les crochets peuvent fournir ces capacités, mais pourquoi ne pas les séparer du contrôle de version.

  2. Le téléchargement automatique signifie que vous n'avez aucun contrôle sur le moment où vous devez pousser une build. La plupart du temps en développement, les builds intermédiaires sont cassés. Je suggère que vous incluiez un «outil d'intégration continu» comme BuildBot dans votre flux de travail.Cela fera le travail de signaler les builds cassés et l'état actuel de votre santé de construction. Si vous le souhaitez, vous pouvez toujours utiliser ce mécanisme pour télécharger automatiquement les bonnes builds vers le serveur de transfert.

  3. La mise en attente est utilisée pour tester la génération dans un environnement en direct complet qui est difficile à répliquer dans votre environnement de contrôle qualité. Il se peut donc que l'élaboration d'une mise en scène ne soit pas poussée vers un environnement en direct, si elle s'avère défectueuse.

  4. XAMPP fonctionne sur Windows. Découvrez-le sur google. Bien que votre environnement de mise en scène et votre environnement de vie doivent être complètement identiques car c'est pour cela que l'environnement de transfert est destiné.

  5. En théorie, cela devrait fonctionner. Vous devrez tester votre fonctionnalité spécifique.

0

Pour les questions 1 et 2, vous utilisez un point d'ancrage post-validation sur votre référentiel subversion (qui n'a pas besoin d'être sur les serveurs Web) pour copier la dernière version sur votre serveur de transfert.

Re 3), c'est une mauvaise idée, vous ne devriez pas automatiser les déploiements en production. Une mauvaise validation pourrait faire tomber votre site si vous faites cela.

4, 5 et 6 sont des questions très différentes et doivent être posées séparément.