Ich bin neu, um Automatisierung und kontinuierliche Integration zu bauen, habe aber umfangreiche Forschung zu diesem Thema gemacht.Modernes Build-Tool geeignet für Visual Studio MSBuild
Zuerst die Frage: angenommen, ich habe eine nicht verwaltete Visual C++ .sln-Datei, und dass ich es mit MsBuild erstellen kann, welches moderne Build-Tool sollte ich wählen, die mir leicht vor/nach Build-Schritte ausführen?
Ich will nicht "alte" Build-Tool wie Ant, Nant, machen, mit seinem XML-Chaos. Ich möchte etwas, was es mir erlaubt, frei auszudrücken, was ich auf menschenfreundliche Weise tun möchte. Basierend auf meinen Recherchen scheinen Waf, Scons und Rake die Rechnung zu erfüllen.
Hintergrund meiner Umgebung: Meine Quellcodeverwaltung ist Subversion. Mein Komponententestframework ist GoogleTest, der JUnit-kompatible XML-Dateien erzeugt. Ich habe JIRA für mein Tracking-Tool ausgewählt. Ich habe TeamCity für meinen CI-Server ausgewählt. Ich verwende Visual Build, um meine .sln-Datei zu erstellen.
Ich möchte ein einfaches Build-Skript (aufrufbar aus meinem CI-Server) in der Lage sein zu schreiben, das würde:
1) Erstellen Sie ein CI-Server-Arbeitsbereich-Verzeichnis.
2) Code von SVN auschecken. (Meine Repos sind so eingerichtet, dass sie svn: externals verwenden, um Abhängigkeiten von meinem anderen Repository zu ziehen.)
3) Führen Sie Visual Build-Builddatei aus, um alle Projekte/Plattformen in .sln zu erstellen.
4) Führen statische Code-Analyse/dynamischer Code-Analyse-Tools
5) Sammeln Ergebnisse von MsBuild (ob der Kompilierung versagen, statisch/dynamisch Warnungen Codeanalyse oder Einheit Test nicht bestehen, usw.) für CI-Server
6) CI-Server-Protokolle dies und verbindet es auch mit JIRA.
Das Arbeiten mit MSBuild- und C++ - Projekten ist in der Tat ein Durcheinander, weil .vcproj kein natives MSBuild-Format wie .csproj ist, sondern von MSBuild auf eine spezielle Weise gehandhabt wird. – mmmmmmmm
Ich bin mir nicht sicher, was du meinst. Ich habe eine .sln-Datei, die mehrere Projekte enthält. um es zu kompilieren, muss ich nur msbuild eingeben .sln..und es funktioniert wie ein Charme. –
sivabudh
Also, was ist deine eigentliche Frage? Du scheinst deine Antwort bereits definiert zu haben. –