2014-06-16 25 views
9

Ho un progetto ospitato su Github e mi piacerebbe configurarlo in modo che il progetto abbia un numero di versione e il numero di versione venga aggiornato solo quando il ramo master è aggiornato, direttamente da un push o tramite una Pull Request unita.Aggiornamento del numero di versione del progetto su git push

C'è un modo per consentire a git/Bitbucket di aggiornare un numero specifico in un file specifico? Va bene se c'è solo un file dedicato per questo scopo, contenente un singolo numero. Presumo che sarò in grado di scrivere codice che, dopo aver chiesto quale versione sta usando il mio progetto, leggerà semplicemente quel file. Il mio progetto è un progetto API Web C#, anche se non sono sicuro che importi molto.

risposta

4

Esiste un modo per lasciare Git/Bitbucket aggiornare un numero specifico in un file specifico ?

Non rintracciato un file nel repository, in quanto sarebbe parte di un altro commit.
Come spiegato in "How do I enable ident string for Git repos?", si tratta di un'attività (generazione di informazioni di compilazione) meglio lasciata a un sistema di compilazione, anziché a some kind of hook/content filter.

Qualsiasi repo servizi di hosting possono avere webhooks (GitHub, BitBucket) che permette di collegare un qualche tipo di processo per un evento (come un git push), ma quelli di processo dovrebbe essere eseguito sul lato client (un client ad ascoltare il JSON payload generato da detto webhook): nulla viene eseguito sui server GitHub/BitBucket (tranne forse BitBucket brokers, principalmente per comunicare con altri servizi di terze parti).

Un modo che potrebbe lavoro però è un post-commit hook (eseguito sul client, prima di spingere) utilizzando:

questo modo, ciascun commit aggiornerebbe uno git notes su detto commit, con il contenuto di un git describe.

L'idea con note di Git è che non cambiano lo SHA1 associata al pronti contro termine, significa che è possibile aggiungere quelli dopo un commit.
È quindi possibile push those notes to GitHub and see them.

git push origin refs/notes/* 

Vedi di più con "Git Notes and GitHub" di Matthew McCullough.

+0

Suoni ragionevoli. Sto usando Jenkins, quindi indagherò se esiste un lavoro che possa occuparsene. – dabs

-2

enter image description here

In un pronti contro termine è possibile vedere il pulsante Uscite. Fare clic su e quindi navigare per creare Release.

Fare clic su Crea una nuova versione. Verrà alla pagina di creazione di rilascio

Dare il rilascio un grande titolo e una descrizione ..

Problemi correlati