Build Version vs Revisionsnummer

7

Ich habe eine asp.net/C# App, die Subversion für die Quellcodeverwaltung verwendet.

Meine App erhöht automatisch AssembleVersion und AssemblyFileVersion für jeden Build, der wie ein Charm funktioniert, und zeigt die Build-Nummer in der Verwaltungsseite der Site an.

Wenn wir die Bereitstellung durchführen, behalten wir den Überblick über AssembleVersion und AssemblyFileVersion. Wenn jedoch ein Problem auftritt und wir zu einer bestimmten Version zurückkehren müssen, haben wir keine Idee, welche Revision in subversion behandelt werden soll.

Ich habe wenige Ideen:

  1. Speichern Sie AssembleVersion als Kommentar in jeder Datei
  2. Ein Schlüsselwort in Commit-Kommentaren, das bei jedem Commit durch AssembleVersion ersetzt wird (muss noch herausgefunden werden, wie es gemacht wird)

Jede Hilfe und Vorschläge werden geschätzt

Aktualisiert: Option "1" ist eigentlich eine dumme Idee, denn das bedeutet, dass jedes Mal, wenn ich es erstelle, alle Dateien als aktualisiert markiert werden und wenn ich festlege, wird jede einzelne Datei aktualisiert

    
Dusty Roberts 28.07.2010, 10:56
quelle

8 Antworten

4

Wenn ich baue, lege ich diese Build-Nummer überall hin.

  • Ich habe es in ein -Tag in svn.
  • eingefügt
  • Ich lege es in die Assembly-Metadaten jeder Assembly, die ich erstelle.
  • Ich füge es an das Ende des Dateinamens in meinen Installern an.
  • Ich lege es in die Fußzeile jeder meiner eingerichteten Webseiten.
  • Ich lege es in den Fußbereich meiner Berichte.
  • Ich habe es in den Begrüßungsbildschirm meiner clientseitigen Apps eingefügt.
  • Ich lege es in den Begrüßungsbildschirm für meine Installer.

Das Einzige, in das ich es nicht hineinziehe, ist mein Kaffee, den ich schwarz nehme . p>

All dies ermöglicht einem Betreuer auf einen Blick zu erkennen, woher der Code stammt, was er gerade sieht, ob er eine Webseite anzeigt oder die Eigenschaften einer der erstellten Baugruppen im Explorer oder was auch immer betrachtet .

    
Dave Markle 28.07.2010, 11:12
quelle
4

Wie wäre es mit Tags?

Ссылка

    
Chris Diver 28.07.2010 11:05
quelle
3

Tags sind nicht wirklich nützlich, wenn Sie häufig bauen. Vielleicht finden Sie eine Möglichkeit, Assembly-Version auf der Grundlage der Svn-Revision zu aktualisieren? Geben Sie auch den Zweignamen an, da sie die Revisionen gemeinsam nutzen.

Und Sie sollten in der Lage sein, die Assembly-Version in Ihren ASP.NET-Seiten zu extrahieren und sie programmatisch in einer Fußzeile oder ähnlichem zu drucken.

    
jishi 28.07.2010 11:35
quelle
2

Sie könnten den Subversion-Stamm mit AssembleVersion oder AssemblyFileVersion taggen, je nachdem, was am sinnvollsten ist.

Sie können die Subversion-Revisionsnummer genauso verfolgen, wie Sie die AssembleVersion- und AssemblyFileVersion bei der Bereitstellung verfolgen.

    
Gilbert Le Blanc 28.07.2010 11:06
quelle
2

Wenden Sie ein Tag auf Ihren Quellbaum an, nachdem Sie die AssemblyVersion und AssemblyFileVersion aktualisiert haben.

    
Martin Liversage 28.07.2010 11:06
quelle
2

Sie könnten "zur Veröffentlichung" verzweigen. Bevor Sie einen Release-Build erstellen, können Sie den Stammzweig verzweigen und dann einen Tag für den neuen Zweig mit der Release-Versionsnummer erstellen.

%Vor%

Damit können Sie alle einzelnen Releases in SVN verfolgen. Es würde Ihnen auch erlauben, isolierte Fehlerbehebungen in Release-Zweigen zu machen, die als Patches veröffentlicht werden könnten. Der Bugfix könnte dann wieder in den Trunk integriert werden.

%Vor%     
Michael Arnell 28.07.2010 11:29
quelle
2

Tags / Zweige sind definitiv der empfohlene Ansatz hier.

Sie können (oder zusätzlich) die svn-Revisionsnummer in Ihre AssemblyInfo einfügen. Ein Ansatz besteht darin, die AssemblyInfo-Task aus dem Msbuildtasks-Projekt in Ссылка

zu verwenden

Weitere Informationen erhalten Sie unter msbuild svn revision assemblyinfo

Sie könnten dann ohne Tags / Zweige auskommen, da Sie immer eine bestimmte Revision auschecken und / oder eine Verzweigung aus einer bestimmten Revision erstellen können.

    
jeroenh 28.07.2010 11:39
quelle
0

Eine andere Möglichkeit ist, die letzte geänderte Version als Ihre Build-Nummer zu verwenden. Dies bedeutet jedes Mal, wenn Sie ein Auto-Tag erstellen. Es ist einfach mit Hudson / Jenkins, da Sie eine Umgebungsvariable SVN_REVISION haben. Das Problem ist, dass die Revisionsnummer sehr groß wird und Diskussionen im Flur über 1.0.0.20456 vs 1.0.0.20489 sind ein Bissen.

    
Peter Kahn 27.07.2011 15:12
quelle

Tags und Links