Ich und meine Gruppe sind entsetzlich darin, Versionsnummern für Baugruppen zu erhöhen, und wir versenden häufig Baugruppen mit Versionen 1.0.0.0. Offensichtlich verursacht dies viele Kopfschmerzen.
Wir werden mit unseren Praktiken über unsere CI- Plattform viel besser und ich möchte sie wirklich so einrichten, dass die Werte in der assemblyinfo.cs
Datei automatisch erhöht werden, damit die Versionen unserer Assemblys automatisch mit den Codeänderungen in dieser Assembly aktualisiert werden.
Ich hatte zuvor (bevor wir Hudson gefunden haben ) eine Möglichkeit eingerichtet, den Wert entweder über msbuild
die Befehlszeile oder über die Befehlszeile zu erhöhen (kann mich nicht erinnern), aber mit Hudson wird das SVN-Repository aktualisiert und ein weiterer Build ausgelöst. Dies würde zu einer langsamen Endlosschleife führen, da Hudson jede Stunde SVN abfragt.
Ist es eine schlechte Idee, wenn Hudson die Versionsnummer erhöht? Was wäre eine alternative Möglichkeit?
Im Idealfall wären meine Kriterien für eine Lösung eines:
- Erhöht die Build-Nummer
assemblyinfo.cs
vor einem Build - Erhöht nur die Build-Nummer in Assemblys, die sich geändert haben. Dies ist möglicherweise nicht möglich, da Hudson den Projektordner bei jedem Build löscht
- Überträgt die geänderte Assemblyinfo.cs in das Code-Repository (derzeit VisualSVN ).
- Bewirkt nicht, dass Hudson beim nächsten Scannen nach Änderungen einen neuen Build auslöst
Wenn ich das in meinem Kopf herausarbeite, könnte ich leicht eine Lösung für das meiste davon durch Batch-Dateien / Befehle finden, aber alle meine Ideen würden Hudson veranlassen, beim nächsten Scannen einen neuen Build auszulösen. Ich suche nicht jemanden, der alles für mich tut, sondern mich in die richtige Richtung weist, vielleicht eine Technik, mit der Hudson bestimmte SVN-Commits ignoriert usw.
Alles, was ich bisher gefunden habe, ist nur ein Artikel, in dem erklärt wird, wie die Versionsnummer automatisch erhöht wird. Nichts berücksichtigt eine CI-Plattform, die in eine Endlosschleife gesponnen werden könnte.