2009-02-01 8 views
4

Simple question. J'utilise Visual Studio et je viens d'installer subversion, comment puis-je forcer le projet à être construit avec msbuild, et si la construction réussit à le commettre, avertir l'utilisateur. J'utiliserais TortoiseSVN ou VisualSVN ou AnkhSVN (quel que soit son nom) s'ils ont la capacité de forcer la construction sur commit intégré (je sais que ce n'est pas leur usage, je sais qu'ils sont juste utilisés comme interface graphique pour SVN) Je voudrais savoir si l'un de ces outils peut être utilisé pour faire cette chose supplémentaire.Construire sur commit avec subversion

Pour récapituler je cherche juste une manière indolore de construire avant commettre pour la subversion.

+0

idée cool et cool :) solution – Leonidas

Répondre

6

Jetez un oeil à TeamCity "pre-tested commit" a.k.a "delayed commit" a.k.a "private build" feature. En un mot, vous "commettez" à TeamCity, TeamCity vérifie votre build et ne valide le repository réel que si le build réussit. Sinon, on vous l'a dit. L'avantage ici est que votre coffre est jamais cassé. Vous pouvez aller ici pour en savoir plus à ce sujet https://confluence.jetbrains.com/display/TCDL/Pre-Tested+(Delayed)+Commit

+0

1, équipe de la ville est grande! – CMS

+0

Pouvez-vous s'il vous plaît dire comment réellement mettre en œuvre ce processus. Comme Link fournit les informations de sa conception. – sam

4

TortoiseSVN a client-side hook scripts que vous pouvez utiliser. Par exemple, vous pourriez écrire un script qui fait la construction et ne retourne que vrai si la construction a réussi. Ajoutez ensuite ce script en tant que hook de pré-validation.

4

Vous pouvez également utiliser CruiseControl, Hudson ou un autre outil d'intégration continue.

Ceux-ci pourraient s'exécuter en arrière-plan, surveiller les changements et ensuite construire.

2

La méthode suggérée par Stefan semble être potentiellement la meilleure pour vous. Cependant, une alternative en fonction de ce que vous tentez d'obtenir consiste à exécuter une sorte d'intégration continue automatisée de sorte qu'à chaque fois qu'une validation est effectuée, un build/test sera exécuté, et s'il y a des problèmes, cela pourrait déclencher une erreur. alerte ou autre chose. Depuis que vous utilisez Visual Studio deviner votre utilisation de. NET, donc CruiseControl pourrait valoir le coup d'oeil.

1

Je pense que this pourrait fonctionner pour vous puisque vous utilisez SVN.

Dans tout ce que vous demandez est comme ce que mausch a suggéré, un serveur CI. Dans ce cas, TeamCity fait l'affaire. Mais peut-être que vous n'avez pas besoin de toutes les cloches et de sifflets fournis avec un serveur CI. Alors le NAS pourrait travailler pour vous. Vérifiez-le out si vous avez le temps!

2

Eh bien, vous pouvez également educate your co-workers si vous n'êtes pas prêts à payer pour des outils spéciaux ...

Questions connexes