2008-09-16 6 views
1

Je travaille dans un environnement d'équipe où chaque développeur travaille depuis son bureau local et se déploie sur une machine virtuelle qu'il possède sur le réseau. Ce que j'essaie de faire, c'est de configurer la solution Visual Studio de manière à ce que, lors de la création de la solution, chaque déploiement de projet soit géré dans l'événement post-build de cette machine virtuelle de développeur. Ce que je voudrais vraiment faire, c'est donner la propriété de ces scripts au développeur individuel afin qu'ils soient propriétaires de leurs étapes de post-construction et qu'ils n'aient pas à être les mêmes pour tout le monde.Meilleure façon de procéder au déploiement de Visual Studio post build dans un environnement d'équipe?

Quelques questions:

  • est un événement post construction l'endroit pour exécuter ce type d'opération de déploiement? Sinon, quel est le meilleur endroit pour le faire?
  • Quels logiciels, outils ou didacticiels/articles de blog sont disponibles pour vous aider à développer un système de déploiement automatique prenant en charge ces scénarios?

Modifier: MSBuild semble être le chemin à parcourir dans cette situation. Quelqu'un utilise-t-il des technologies alternatives avec succès?

Éditer: Si vous lisez cette question et que vous vous demandez comment exécuter un ensemble différent de tâches MSBuild pour chaque développeur, consultez cette question; Executing different set of MSBuild tasks for each user?

Répondre

1

Si vous utilisez Visual Studio 2005 ou plus tard, les fichiers de projet sont des fichiers MSBuild. Dans le fichier MsBuild, il existe une cible "AfterBuild". Je recommande d'utiliser ceci pour effectuer vos tâches de déploiement, au lieu de l'événement Post Build. En utilisant les tâches MSBuild, vous êtes plus prêt à passer à un système d'intégration continue comme CruiseControl.NET ou Team City. Je ne suis pas sûr de savoir pourquoi tous vos développeurs ont leurs propres machines virtuelles, il semblerait qu'à un moment donné, vous voudriez un emplacement central où tous les développeurs travailleraient pour s'assurer que le code de tous les développeurs s'intégrerait et créerait (C'est une raison pour utiliser les systèmes d'intégration continue). Je suis sûr que vous pouvez trouver un moyen que CruiseControl.Net ou Team City ou l'un des autres choix peuvent vous aider dans ce scénario. Mais pour ce qui est de l'installation initiale, utilisez MSBuild.

+0

Nous aurons un environnement commun pour la mise en scène et le test, mais je ne veux pas que les développeurs se déploient les uns sur les autres à chaque build. Je veux cependant leur donner un vrai serveur avec lequel travailler sans leur demander d'installer Win 2k8, SQL, MOSS, etc ... sur leur machine. MSBuild est probablement la bonne réponse pour nous. –

+0

Je recommanderais quand même d'utiliser un outil CI pour qu'au moins un environnement ait la somme de toutes les parties en cours d'exécution à tout moment. Et vous pourriez aussi travailler sur des tests automatisés. – NerdFury

+0

Je ne sais pas pourquoi vous êtes concerné par le déploiement des développeurs les uns sur les autres? Si vous utilisez le contrôle de source, ne devraient-ils pas tous être construits à partir du même code? Et ils ne devraient pas déployer de code qui n'est pas archivé. – lordscarlet

1

je regarderais dans MSBuild ou ANT

Questions connexes