AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi MSBuild und Versionsnummer per Commandozeilenparameter übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

MSBuild und Versionsnummer per Commandozeilenparameter übergeben

Ein Thema von Bernhard Geyer · begonnen am 24. Mär 2016 · letzter Beitrag vom 24. Mär 2016
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#1

MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 08:37
Wir haben einen Jenkins-Server laufen und Compilieren hier unsere Exe (Delphi XE6)
Ich würde gerne einen Nightly-Build noch aufsetzen so das alle nacht alle Exes neu kompiliert werden.
Als Versionnummer würde ich gerne das aktuelle Datum (2016.03.24) als Versionsnummer verwenden um hierrüber einfach die Nightly-Buils zu erkennen.

Wie mache ich das am geschicktesten? Wie kann ich MSBuild die Versionsnummer als Kommandozeilenparameter übergeben?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 09:23
Solche Parameter kann man als MSBuild-Properties übergeben. Dazu in Jenkins im Feld "Command Line Arguments" für den MSBuild-Schritt so etwas angeben:

Code:
/t:TARGETNAME /p:PROPERTY1=Test1 /p:PROPERTY2=Test2 /p:VERSION=V1.2.345.0 /verbosity:minimal
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 09:44
Solche Parameter kann man als MSBuild-Properties übergeben. Dazu in Jenkins im Feld "Command Line Arguments" für den MSBuild-Schritt so etwas angeben:

Code:
/t:TARGETNAME /p:PROPERTY1=Test1 /p:PROPERTY2=Test2 /p:VERSION=V1.2.345.0 /verbosity:minimal
Danke. Target verwende ich schon. /p:VERSION wäre dann das relevante
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 09:47
Danke. Target verwende ich schon. /p:VERSION wäre dann das relevante
Bitte beachten: das
Code:
/p:VERSION
war nur ein Beispiel mit dem
Code:
/p:...
werden generell Properties von der Kommandozeile aus übergeben. Das "VERSION" hat in MSBuild keine spezielle Funktion sondern muss (natürlich) vom Buildscript entsprechend behandelt werden.
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#5

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 12:28
In unserem Finalbuilder lasse ich eine Ressource-Datei generieren, mit dem Manifest und der Versionsnummer din.
Dinge wie die aktuelle Versionsnummer werden per Platzhalter/Variablen da eingefügt, dann die .RC kompiliert und natürlich noch per {$RESOURCE ...} ins Programm eingebunden.
(Manifest und Versionsinfo sind in den Projektoptionen deaktiviert)

Bei uns kommt da unsere Programmversion und die Revisionsnummer, sowie der Pfad (Verzeichnisname) vom SVN mit rein, damit wir die Kundenversionen zuordnen können, von wo sie genau her kommen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 17:29
Wir nutzen eine Datenbank, in der alle Tools mit Versionsinfos usw. stehen. Ein Tool setzt dann nach dem Build diese Versionsinfos und aktualisiert die Build Nummer in der DB dabei.
Dieses Tool bekommt übergeben, was für ein Build es ist (Debug oder Release) usw., so dass zum Beispiel eine spezielle Version durch einfache Änderung in der DB vor dem Build erzeugt werden kann. Und alles wird zentral gesteuert.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: MSBuild und Versionsnummer per Commandozeilenparameter übergeben

  Alt 24. Mär 2016, 18:21
Bei uns generiert das MSBuild-Script das vom Jenkins gestartet wird die Versionsresource. Dazu wird aus einem GIT-Repository eine Konfigurationsdatei geholt, die Versionsnummer hochgezählt, die Resource erstellt und die Konfigurationsdatei wieder ins GIT commited und gepusht. Jeder Build-Typ hat seine eigene Konfigurationsdatei im Repository, so dass die Versionsnummern immer zum jeweiligen Build passen.
Ralf Kaiser
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz