2012-03-30 16 views
15

Mam kilka projektów open source, którymi zarządzam. Zamieszczam tam wydania .tar.gz do katalogu na uruchomionym serwerze internetowym. Chciałbym opublikować je na github. Czy istnieje prosty sposób opublikowania wydania i podpisu do wydania? Moi użytkownicy nie są wystarczająco zaawansowani, aby pobrać wersję z git; chcą pobrać i zainstalować plik .tar.gz. Niektóre z nich mogą nawet chcieć zweryfikować podpis.Jak opublikować "wydanie" na github?

Odpowiedz

23

GitHub właśnie ogłosił swój nowy "GitHub zwalnia" cecha, która brzmi jak dokładnie to, co jesteś po:

https://github.com/blog/1547-release-your-software

+1

Czy można to zrobić za pomocą polecenia Git z dowolnego klienta GIT? – Royi

+0

To nie jest w ogóle użyteczne, nadal nie rozumiem, jak utworzyć wydanie, po przeczytaniu tego – Nulik

0

Zapoznaj się z GitHubem Downloads section - w ogóle nie potrzebujesz git, aby pobrać pliki z tego miejsca.

+3

[Depreciated] (https://github.com/blog/1302-goodbye-uploads), zamiast tego użyj [Releases] (https://github.com/blog/1547-release-your-software). –

1

Można pobrać paczkę z dowolnego tagu tak:

https://github.com/visionmedia/express/tarball/2.5.4 
6

Jedna miła opcja jest github obsługuje tagowanie i automatyczne tworzenie tar.gz/zip na podstawie tych tagów. Ułatwia publikowanie wydawnictw.

http://learn.github.com/p/tagging.html

Na commit/oddziału, który chcesz oznaczyć jako uwolnienie, zrobić

git tag <release_tag> 

następnie

git push --tags 

następnie na github.com/user/ repo/tags, możesz zobaczyć wszystkie otagowane wydania. Możesz połączyć się bezpośrednio z tymi plikami, np. W odpowiedzi Jima.

+9

Istnieją dwa problemy z prostym tagiem. # 1 - Nie mogę cyfrowo podpisywać tych wydań '.tar.gz'. # 2 - moi użytkownicy potrzebują śmieci "configure" i "missing" oraz innych "autoconf", które nie należą do repozytorium git. – vy32

+0

@ vy32, możesz teraz używać [znaczników adnotowanych] (https://git-scm.com/book/en/v2/Git-Basics-Tagging#_annotated_tags) dla pierwszego numeru, ao drugiej - tworzenia [ git hook] (http://githooks.com/) do zrobienia tego –

1

Istnieje kilka narzędzi do robienia tego, czego potrzebujesz.

github_upload (Ruby) : https://github.com/github/upload 
App::gh (Perl) : https://metacpan.org/module/App::gh::Command::Upload 

Wybieraj :)

+0

Niestety, skrypt github_upload już nie działa. – vy32

+0

Mam podobny przypadek użycia, jak Ty - ale nie udało Ci się jeszcze użyć żadnego z tych narzędzi.Dobrze wiedzieć o statusie 'github_upload'. Może możesz dać perlowi kolejny strzał. Spróbuj użyć 'cpanm' i wymyśl wszystkie zależności. – mithun

2

Chciałbym również przesłać inne rodzaje plików (skompilowane pliki binarne, ...) i edytować wydania github z wiersza poleceń za pomocą raczej łatwego w użyciu narzędzia, zrobiłem coś dla tego. Nazywa się github-release. Jest to w zasadzie przyjazna dla użytkownika abstrakcja dotycząca interfejsu API Github. Został napisany w Go, więc skorzystałem z możliwości jego kompilacji dla OSX/linux/windows/FreeBSD, i oczywiście można pobrać pliki binarne z wersji releases page.

OŚWIADCZENIE: Jestem autorem.

+0

Nadal nie rozumiem czegoś. Gdzie binarny żyje w ramach repozytorium? Czy muszę utworzyć kolejną gałąź z plikiem w niej? Naprawdę zdezorientowany. – ThomasReggi

+0

Nie zdawałem sobie sprawy, że możesz przesłać plik binarny bezpośrednio do wydania lub za pomocą komendy github-release upload. – ThomasReggi

Powiązane problemy