2010-02-02 3 views
2

Les balises Subversion constituent-elles un bon moyen de publication sur un serveur de développement ou de stockage intermédiaire?Utilisation de balises Subversion à déployer sur un serveur de développement/de stockage intermédiaire/de test

Je l'envisage. Lorsque le tronc devient stable, une étiquette est créée avec cette construction. Le serveur de développement bascule vers cette balise en utilisant Subversion, en effectuant la mise à jour vers la dernière révision de fichiers, en supprimant les fichiers inutiles, etc. Le compte serveur que j'imagine n'aurait également qu'un accès en lecture seule au référentiel.

Est-ce que cela a du sens? Je pense à un moyen d'éliminer les fichiers manuels de copie manuelle jusqu'au serveur de développement/mise en scène/test.

Remarque: Je n'utilise pas de serveur de génération, donc je n'ai pas besoin de crochets. En outre, ceci est une boîte de Windows.

Répondre

5

Subversion n'a pas de balises réelles comme le fait CVS (http://svnbook.red-bean.com/en/1.1/ch04s06.html). Cependant, vous pouvez marquer en utilisant 'svn copy' qui fait vraiment une branche. Néanmoins, il est recommandé de libérer Live (Deploy) à partir d'un système de contrôle de version. Vous pouvez obtenir assez envie avec des choses comme le déploiement automatisé http://imrannazar.com/Automated-Deployment-with-Subversion.

Une chose que je recommanderais est que vous fassiez une vérification propre du code quelque part d'abord avant de faire une version pour vivre. De cette façon, vous vous assurez que tout fonctionne et que tout a été enregistré.

Mon autre recommandation est que vous utilisez 'svn export' au lieu de checkout. De cette façon, il supprime tous les répertoires .svn et tout ce qui n'est pas nécessaire.

+0

Que voulez-vous dire que SVN n'a pas de «vraies étiquettes? J'ai déjà entendu cela et je ne l'ai pas encore entendu défendre. – Jacob

+2

@Jacob - SVN n'a pas de balise ou étiquette immuable comme les autres systèmes. Dans d'autres systèmes, vous pouvez attribuer un nom à une révision particulière sur une branche, mais dans svn, tout ce que vous pouvez faire est de copier le tronc ou une branche dans le répertoire */tags *. La "balise" n'est qu'une balise dans le sens où elle se trouve dans le répertoire */tags * - elle peut toujours être mise à jour, comme une branche. –

1

Bien sûr, c'est une excellente idée. Découvrez Capistrano, c'est un outil de déploiement populaire qui fait essentiellement ce que vous avez décrit. Il est principalement utilisé avec Ruby on Rails, mais il peut être utilisé dans d'autres environnements.

Questions connexes