Question

Nous maintenons une application moyenne de fenêtres de taille développée vb / c # .net dans le travail. Aujourd'hui encore la construction et le déploiement de processus pour cette application est manuel. Je suis déterminé à faire de ce processus automatisé en utilisant MSBuild sur lequel je ne connais pas encore maintenant.

Notre application a une structure simple de construction, un ensemble de projets déjà regroupés en quatre solutions (.sln) et ont juste besoin de construire les quatre SLNS dans un ordre. Et puis publier un projet (qui fait partie de la dernière sln à construire) dans un répertoire. C'est ça. Un processus simple qui consomme déjà 30 minutes de temps de construction manuelle et je suis sûr que cela peut être accompli sans intervention manuelle à l'aide msbuild dans atleast 1/4 e du temps.

Tous mes objectifs fixés bon, je commencé à regarder autour web pour les ressources MSBuild pour accomplir mon processus, mais peut être en regardant autour de moi beaucoup de choses confuses. Vous avez besoin d'un pointeur ou une bonne explication sur la façon de commencer et par où commencer pour mon scénario simple. L'aide est très appréciée.

Était-ce utile?

La solution

Cela ressemble à un script très facile à écrire. Même un fichier batch ferait:

msbuild \path\to\first.sln /p:Configuration=Release
msbuild \path\to\second.sln /p:Configuration=Release
msbuild \path\to\third.sln /p:Configuration=Release
msbuild \path\to\fourth.sln /p:Configuration=Release
call deploy

Bien sûr, beaucoup mieux serait d'avoir un serveur exécutant, dire CruiseControl.NET , qui donne une interface web dans l'état de la construction et de l'histoire.

Dans MS Build, il y a deux points de contrôle principaux de l'appelant: La cible et ses propriétés. La cible est ce qu'il faut compiler, les ressources, la compilation, le déploiement, etc. Les propriétés de contrôle comment cette cible est construit.

Vous pouvez contrôler la configuration à l'aide de la configuration propriété (voir ci-dessus). Si vous ouvrez votre *. * Proj fichiers, vous remarquerez des éléments de PropertyGroup. Ceux-ci sont par la ligne de commande réglable en utilisant la arg /p.

Voici les spécifications pour les deux args:

/target:<targets>  Build these targets in this project. Use a semicolon or a
                 comma to separate multiple targets, or specify each
                 target separately. (Short form: /t)
                 Example:
                   /target:Resources;Compile

/property:<n>=<v>  Set or override these project-level properties. <n> is
                 the property name, and <v> is the property value. Use a
                 semicolon or a comma to separate multiple properties, or
                 specify each property separately. (Short form: /p)
                 Example:
                   /property:WarningLevel=2;OutDir=bin\Debug\

Autres conseils

Voici un bon guide qui a un grand nombre d'informations sur MSBuild, l'intégration continue et CuriseControl.NET. Certainement un bon endroit pour commencer.

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