2014-06-16 11 views
9

Mam projekt hostowany na Github i chciałbym ustawić go tak, aby projekt miał numer wersji, a numer wersji był aktualizowany tylko wtedy, gdy zostanie zaktualizowany główny oddział, albo bezpośrednio przez naciśnięcie lub przez połączone żądanie wyciągnięcia.Aktualizowanie numeru wersji projektu na git push

Czy jest jakiś sposób, aby git/Bitbucket zaktualizował określoną liczbę w określonym pliku? Jest OK, jeśli istnieje tylko dedykowany plik do tego celu, zawierający pojedynczy numer. Zakładam, że będę mógł napisać kod, który po zapytaniu o wersję, której używa mój projekt, po prostu odczyta ten plik. Mój projekt to projekt C# Web API, chociaż nie jestem pewien, czy to ma znaczenie.

Odpowiedz

4

jest jakiś sposób, aby pozwolić git/Bitbucket aktualizować określoną liczbę w określonym pliku ?

nie plik śledzone w repo, ponieważ byłoby to częścią inny popełnić.
Jak wyjaśniono w "How do I enable ident string for Git repos?", jest to zadanie (generowanie informacji o kompilacji) lepiej pozostawione systemowi kompilacji niż some kind of hook/content filter.

Wszelkie usługi hostingu repo mogą mieć webhaki (GitHub, BitBucket) umożliwiające dołączenie procesu do zdarzenia (np. Git push), ale proces ten byłby wykonywany po stronie klienta (klient słuchający JSON payload wygenerowany przez wspomnianego webhooka): nic nie jest wykonywane na serwerach GitHub/BitBucket (z wyjątkiem może BitBucket brokers, głównie w celu komunikacji z innymi usługami stron trzecich).

Jednym ze sposobów, który mógł praca chociaż jest post-commit (wykonywane na kliencie, przed pchania) używając:

ten sposób, każdy commit zatwierdziłby aktualizację git notes dla tego zatwierdzenia, z zawartością git describe.

Pomysł z nutami git polega na tym, że nie zmieniają SHA1 powiązanego z repo, co oznacza, że ​​możesz dodać te po zatwierdzeniu przez.
Możesz wtedy push those notes to GitHub and see them.

git push origin refs/notes/* 

Zobacz więcej z "Git Notes and GitHub" przez Matthew McCullough.

+0

Brzmi rozsądnie. Używam Jenkinsa, więc zbadam, czy istnieje praca, która może się tym zająć. – dabs

-2

enter image description here

W repo widać przycisk wydaniach. Kliknij to, a następnie przejdź do tworzenia wersji.

Kliknij Utwórz nową wersję. Zostaniesz przeniesiony do strony tworzenia Release

Daj wydaniu wielki tytuł i opis ..