Je recherche des recommandations pour faire le bâtiment et le déploiement de projet automatiquement. P>
Notre configuration de développement actuelle utilise ASP.NET, SVN, CCNet et un script MSBUILD pour la construction du serveur DEV. Je pensais à passer à la croisière au lieu de CCNet si je ne suis pas sûr que cela me donne tout ce que je n'en ai pas déjà. P>
Ce que je voudrais automatiser, c'est le processus d'après une version automatisée effectuée pour mettre à jour le site en direct avec les nouveaux changements. Les mises à jour du site peuvent inclure des mises à jour de site de base ainsi que des mises à jour des clients pouvant être modifiées de code et / ou de base de données afin que le processus nécessite suffisamment flexible afin qu'il puisse gérer ces scénarios. P>
Une de mes sources d'inspiration pour cela est venue de
3 Réponses :
J'ai utilisé Nant dans le passé avec beaucoup de chance pour des tâches similaires. Vous pouvez démarrer en utilisant votre construction automatisée. ( http://nant.sourceforge.net/ ) p>
Si vous voulez quelque chose de plus complet, vous pouvez consulter WIX ( http://wix.sourceforge.net/ a>) p>
Vous êtes vraiment sûr que tout ce qu'une construction autocratique commence, vous souhaitez mettre à jour le site en direct? Ou voulez-vous dire que vous lancez une construction, à l'aide de votre outil CC, puis il génère une construction pour aller vivre? P>
Je détesterais avoir la mise à jour du site en direct lorsque quelqu'un a vérifié dans une nouvelle version d'un fichier. P>
Vos mises à jour de la base de données seront probablement l'aspect le plus difficile. Cependant tant que ce qui est coché pour la mise à jour de DatabVase est un script de changement, ce n'est pas mauvais. P>
Nous avons 2 types de construction en ce moment. L'un est une construction de développement et l'autre une libération. Les constructions deviennent toutes les minutes XX après une vérification du code et exécutent les tests de l'unité, etc. tandis qu'une version est uniquement lorsque nous éteignons hors de l'arrêt et que la construction d'un dev pas, mais en mode de libération, mais aussi bien que la version en tant que version Svn.
On dirait que les deux fonctions majeures pour le déploiement de vos modifications de code sont les suivantes: 1. Copie de fichiers et 2. Exécuter des modifications de script DB. Si vous regardez à l'aide d'utiliser MSBUILD Community Tasks Il y a beaucoup de tâches de construction pratiques pouvant vous aider en cours de route. Sqlexecute et robocopy sonnent comme ils seraient tout ce dont vous auriez besoin d'utiliser. Cela vous obligerait à modifier vos fichiers de projet pour étendre leur comportement de construction, mais une fois que cela est fait, vous pourrez "script" sur la partie manuelle de ce qui est fait. P>
pour projets plus petits ou personnels forts>, je recommanderais d'utiliser quelque chose comme le gratuit (et excellent) TeamCity de Jetbrains. Automatisation des tests d'unités, intégration continue et règles de ce qui se passe après une construction (y compris la déplaçant vers différents endroits). p>
pour mise à jour 7/31/2014: em> p>
J'ai utilisé Appattoyer a>. J'ai quelques projets tels que MailChimp.Net qui possède une automatisation complète de la construction et de Nuget Déployer. p>
Je suis maintenant mis à niveau, enfin, de Cruisecontrol.net à TeamCity et d'aimer. Cela a été beaucoup plus facile à utiliser même avec des scripts personnalisés Msbuild.
Juste une mise à jour après 6 ans; Automatisation de la version de l'application Les outils sont spécialement conçus pour exactement cela. Buildmaster est l'un des outils là-bas et Ce didacticiel décrit le processus mentionné.