2014-06-16 10 views
9

Ich habe ein Projekt auf Github gehostet, und ich möchte es so einrichten, dass das Projekt eine Versionsnummer hat und die Versionsnummer nur aktualisiert wird, wenn der Hauptzweig aktualisiert wird direkt per Push oder über eine zusammengeführte Pull-Anfrage.Aktualisieren der Projektversionsnummer auf git push

Gibt es eine Möglichkeit, git/Bitbucket eine bestimmte Nummer in einer bestimmten Datei zu aktualisieren? Es ist in Ordnung, wenn es nur eine dedizierte Datei für diesen Zweck gibt, die eine einzelne Nummer enthält. Ich nehme an, dass ich in der Lage sein werde, Code zu schreiben, der auf die Frage, welche Version mein Projekt verwendet, einfach diese Datei liest. Mein Projekt ist ein C# -Web-API-Projekt, obwohl ich mir nicht sicher bin, ob das wichtig ist.

Antwort

4

Gibt es eine Möglichkeit, das Abruferstellungsseite genommen werden zu lassen git/Bitbucket eine bestimmte Anzahl in einer bestimmten Datei aktualisieren ?

eine Datei nicht im Repo verfolgt, da es Teil der begehen andere wäre.
Wie in "How do I enable ident string for Git repos?" erklärt, ist das eine Aufgabe (Generieren von Build-Informationen) besser links zu einem Build-System, anstatt some kind of hook/content filter.

All Repo-Hosting-Service webhooks haben kann (GitHub, BitBucket) so dass Sie irgendeine Art von Prozess zu einem Ereignisse befestigen (wie ein git push), aber die Verfahren auf der Clientseite ausgeführt werden würden (ein Client zum Hören JSON payload generiert von besagtem Webhook): Nichts wird auf GitHub/BitBucket Servern ausgeführt (außer vielleicht BitBucket brokers, hauptsächlich um mit anderen Diensten von Drittanbietern zu kommunizieren).

Eine Möglichkeit, die konnte Arbeit allerdings ist ein post-commit Haken (ausgeführt auf dem Client, bevor Pushing) mit:

Auf diese Weise jede Commit würde eine git notes auf dem Festschreiben mit dem Inhalt einer git describe aktualisieren.

Die Idee mit Git Notes ist, dass sie nicht die SHA1 mit dem Repo verbunden ändern, was bedeutet, dass Sie diese nach ein Commit hinzufügen können.
Sie können dann push those notes to GitHub and see them.

git push origin refs/notes/* 

Weitere mit "Git Notes and GitHub" von Matthew McCullough.

+0

Klingt vernünftig. Ich benutze Jenkins, also werde ich untersuchen, ob es einen Job gibt, der sich darum kümmern kann. – dabs

-2

enter image description here

Bei einem Repo können Sie Releases Knopf. Klicken Sie darauf und dann navigieren Sie zur Erstellung von Release.

Klicken Sie auf Eine neue Version erstellen. Sie werden

Geben Sie die Veröffentlichung einen großen Titel und Beschreibung ..