TeamCity zum Lesen und aktualisieren der Versionsnummer von der version-Datei

Sind wir mit TeamCity als CI-server und wir haben überlegt, wie implementieren Sie eine Methode für die Versionierung unsere Veröffentlichungen, die sicher ist (d.h. die minimale Gelegenheit für menschliche Fehler), sondern auch, dass erfordert den geringsten Aufwand möglich. Bisher sind die folgenden scheint die logischste:

  1. Erstellen Sie eine version der Datei (oder verwenden Sie assemblyinfo.cs). Die version, die Informationen würden in dem format .... Diese Datei wird überprüft, in mein VCS.
  2. Führen Sie eine TeamCity build
  3. TeamCity liest die version der Datei aus Schritt 1, Auswahl aus jeder einzelnen zahlen und setzt entsprechende TeamCity build-Parameter (damit ich Sie später verwenden können, für solche Dinge wie das erstellen von nuget-Paketen und Kennzeichnung)
  4. TeamCity auto erhöht den final "build count" - Wert ein.
  5. TeamCity speichert Informationen über die neue version wieder auf die version-Datei (mit der aktualisierten "build count")
  6. TeamCity führt dann durch den rest meines build-Schritte -, Bau-Dateien, das ausführen von unit-tests, - Einstellung die richtige assembly-Versionen etc..
  7. TeamCity schließlich prüft die Datei wieder in VCS

Wir glauben, dass der nutzen, Dinge zu tun diese Art und Weise ist, sollten wir tun müssen, um ein Update von einer alten Version dann die Versionsnummer wird korrekt und TeamCity kann einfach die alte version der Datei, und erhöht die build-Zählung als üblich. Dies macht die Annahme, dass wir die Aktualisierung unserer major/minor/patch-Versionen richtig. Dies wird hoffentlich schön mit der bald erscheinenden Funktion von TeamCity 7.1 können Sie wählen, welcher Zweig zu bauen, über die benutzerdefinierte build-dialog.

Aus, was ich schon gelesen haben, so weit diese Art von Operationen möglich sein sollte, in TeamCity, aber wir sind auf der Suche für die einfachste root, um dieses Problem, da wir nur ein zwei-Mann-outfit und wir können uns nicht leisten zu investieren, die große Mengen an Zeit in immer Experten Nant oder powershell nur um es zu finden, könnte nicht tun, was wir wollen.

Also ich denke mal zusammenfassend meine Fragen sind wie folgt:

  1. Ist das, was ich dir Vorschlage, möglich?
  2. Wenn ja dann was ist das beste Werkzeug zu verwenden, angesichts meiner begrenzten Erfahrung, Nant, powershell, etc (also das ist der Schnellste, um zu lernen für jemanden, der Befehlszeilen-und Skript-Erfahrung, die so weit reicht, wie die einfache DOS-Operationen und ein wenig VBScript)

Jede Hilfe wird sehr geschätzt.

InformationsquelleAutor King Roger | 2012-08-07
Schreibe einen Kommentar