Question

Je suis un développeur débutant qui veulent apprendre un meilleur processus de développement de logiciels. Mes questions sont les suivantes:

  1. ce qui est quotidien construction en général?
  2. Quelle est la différence si je construis mon propre projet dans VS?
  3. comment faisons-nous la meilleure façon pour le projet .net (de préférence en utilisant TFS)?
  4. plus de choses que je devrais / avoir à connaître?

Toute référence à un article / livres / questions sont les bienvenus.

Merci

Était-ce utile?

La solution

1) De la entrée de Wikipedia :

  

Une accumulation quotidienne ou nightly build est la pratique de chaque jour pour construire un paquet de logiciel de la dernière version d'un programme. Il en est ainsi, il peut tout d'abord être compilé pour faire en sorte que toutes les dépendances nécessaires sont présentes, et peut-être testé pour montrer aucun bugs ont été mis en place. La construction quotidienne est souvent accessible au public permettant l'accès aux dernières fonctionnalités des commentaires.

2) Il devrait y avoir aucune différence entre une nightly build et une accumulation de VS, mais l'idée derrière une construction quotidienne est qu'il est automatisé. De cette façon, vous pouvez planifier son exécution à 3 heures :)

Il serait également une bonne idée d'exécuter les étapes de vérification (par exemple, l'unité ou des tests fonctionnels) pour rien vérifier a été cassé dans la dernière version. En faisant, vous pouvez garantir que les compiles de construction et est en bon état de marche. De cette façon, vous pouvez déployer une version fraîche à volonté.

Sans un tel processus en place, si quelqu'un a besoin d'une construction que vous ne savez jamais vraiment combien de temps il pourrait prendre pour le livrer à eux. Vous pouvez être en mesure de construire juste dans VS sans aucun problème, ou vous devrez peut-être avoir à réparer les parties du code juste pour obtenir de construire. Cela devient un problème plus grave lorsque votre construction est grande et se compose de multiples solutions que chaque besoin d'être construit séparément.

3) Vous pouvez créer un script batch qui exécute la construction pour vous, vous pouvez utiliser un outil à cet effet. Pour plus d'informations, voir: -ce que l'outil à utiliser pour-automatique -nightly-construit . Certaines de leurs suggestions:

Autres conseils

article de Joel. Bon à lire.

Une augmentation quotidienne est la plupart du temps une construction automatique, construit par un serveur central. La différence dans la construction de votre propre projet est que vous obtenez au courant de tous DLL emballés dans votre application, le code ne le réintègre pas dans le contrôle des sources, des dépendances locales, etc .. L'application compilée finale et DLL sont les mêmes que celui que vous Construisons localement.

Nous utilisons Hudson pour la nuit, mais construit vous pouvez également utiliser croisière control.Net. Parce que nous Hudson Java et .NET est la meilleure solution. Si vous avez de MS le serveur Team Foundation vous pouvez également utiliser.

S'il vous plaît regarder cette pour intégrer Hudson et C #.

Voir également l'intégration StyleCop, FXCop et tests unitaires dans votre serveur de build.

Il y a un excellent article de Martin Fowler sur ce sujet

http://martinfowler.com/articles/continuousIntegration.html

Je suis en désaccord personnellement que la construction du code source de votre env de développement est le même que pour construire un paquet de nuit ou la construction quotidienne. Environnement de développement est inondé de composants, SDK, les bibliothèques et les ressources qui se cachent parfois les extrémités libres. Faire une nightly build sur une machine de construction est la meilleure façon d'aller.

faire également une construction de votre propre machine empêche check-ins quotidiens au code général. Encore une fois une mauvaise pratique.

Une nightly build devrait travailler avec des outils de construction minimales requises et les bibliothèques. En utilisant toute env dev sur la machine de construction est une mauvaise idée. Une construction complète aurait également quelques rapides et sales - tests automatisés peu profonds pour exécuter le code après il est compilé, build, et déployé dans le test / env pré-prod. NUnit, Sélénium et FxCop sont vos amis.

  1. Une construction automatique tous les jours (ou nuit) du système complet. Le système de construction rapport des erreurs de mon courrier, etc.
  2. Il se base sur une autre machine, il est sûr que vous ne l'avez pas oublié de vérifier dans tous les fichiers, ou avez installé les dépendances sans papier sur votre machine seulement. Et il signale des erreurs.
  3. Ne vous arrêtez pas édifie chaque jour, optez pour l'intégration continue qui construit après chaque enregistrement. Regardez à Cruisecontrol.net .
  1. Daily builds sont destinés à faire en sorte que, au moins une fois par jour votre application est dans un état inconstructible. Ils sont généralement gérés par un processus automatisé. De nombreuses équipes préfèrent avoir une intégration continue builds sont préparés après chaque enregistrement au dépôt.

  2. processus quotidien automatisé a l'avantage d'être automatisé :) Vous pouvez également le configurer pour effectuer diverses tâches auxiliaires: d'exécuter des tests unitaires pour le déploiement automatique des composants du serveur. Lorsque vous construisez sur votre machine dev, vous assurez que votre locale copie est valide et compilable, tandis que le serveur CI affirme la même chose sur votre dépôt .

  3. CruiseControl.NET est une solution populaire. Vous pouvez également envisager utilisant Rake.

1) Une construction quotidienne est une soupe complète pour construire les noix de votre base de code et les processus que l'installateur traverserait y compris les tests, l'installation et le retrait potentiellement.

2) C'est une construction locale, il devrait y avoir aucune différence sauf que vous ne serez compiler et de tester le code pas nécessairement le processus de demande.

3) Il est dans l'air, dépend du budget, l'équipe, entre autres.

4) L'article de Joel comme cela a été tition.

  

ce qui est quotidien construction en général?

« build Daily » est une partie de « l'intégration continue », et signifie qu'un projet complet est construit régulièrement et automatiquement. En général cela se produit au moins tous les jours, voire plus souvent si possible, peut-être même après chaque changement.

Le principal objectif est de vous assurer que le projet peut toujours être construit; En outre, divers tests peuvent être exécutés dans le cadre de la construction, vous pouvez déployer automatiquement un environnement de test, générer des programmes d'installation pour d'autres tests, etc..

  

Quelle est la différence si je construis mon propre projet dans VS?

Il se fait automatiquement, et en utilisant la configuration par défaut. Cela fait que le projet se base toujours correctement, et non seulement sur votre système (par exemple parce que vous avez une configuration spéciale que vous avez oublié de vérifier dans le contrôle de version, ou si vous avez un IDE particulier installé).

  

comment nous le faisons le faire de la meilleure façon pour le projet .net?

Utiliser un serveur CI (intégration continue), par exemple CruiseControl.NET . Il en existe plusieurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top