2012-03-30 10 views
15

Tengo algunos proyectos de código abierto que administro. He estado publicando las versiones .tar.gz para ellos en un directorio en un servidor web que ejecuto. Me gustaría publicarlos en github. ¿Existe una manera simple de publicar el lanzamiento y una firma para el lanzamiento? Mis usuarios no son lo suficientemente sofisticados como para descargar la versión con git; Quieren descargar e instalar un archivo .tar.gz. Algunos de ellos incluso pueden querer verificar la firma.¿Cómo publico un "lanzamiento" en github?

Respuesta

23

GitHub acaba de anunciar su nuevo "GitHub Presenta" característica, que suena como exactamente lo que está buscando:

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

+1

¿Hay alguna manera de hacerlo utilizando el comando Git desde cualquier cliente GIT? – Royi

+0

esto no es útil en absoluto, todavía no entiendo cómo crear una versión, después de leer esto – Nulik

0

Echa un vistazo a GitHub Downloads section - no es necesario que git descargue archivos desde allí.

+3

[Depreciated] (https://github.com/blog/1302-goodbye-uploads), use [Releases] (https://github.com/blog/1547-release-your-software) en su lugar. –

1

se puede recuperar un archivo comprimido de cualquier etiqueta de este modo:

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

Una buena opción es compatible con GitHub está etiquetado, y la creación tar.gz/postal automática basada en esas etiquetas. Hace publicaciones de publicación realmente fáciles.

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

Por/rama comprometerse que desea marcar como una liberación, hacer

git tag <release_tag> 

continuación

git push --tags 

a continuación, en github.com/user/ repo/tags, puedes ver todos los lanzamientos etiquetados. Puede vincular directamente a esos archivos, como en la respuesta de jimw.

+9

Hay dos problemas con una etiqueta simple. # 1 - No puedo firmar digitalmente estas versiones de '.tar.gz'. # 2 - mis usuarios necesitan el 'configure' y' missing' y otro 'autoconf' generado basura que no pertenece en el repositorio de git. – vy32

+0

@ vy32, ahora puede usar [etiquetas anotadas] (https://git-scm.com/book/en/v2/Git-Basics-Tagging#_annotated_tags) para el primer problema, y ​​sobre el segundo - crear un [ git hook] (http://githooks.com/) para hacer eso –

1

Hay algunas utilidades para hacer lo que necesita.

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

Haga su elección :)

+0

Desafortunadamente, la secuencia de comandos github_upload ya no parece funcionar. – vy32

+0

Tengo un caso de uso similar al tuyo, pero aún no me he acostumbrado a usar ninguna de estas herramientas.Es bueno saber sobre el estado de 'github_upload'. Tal vez puedas darle al perl otro tiro. Intenta usar 'cpanm' y haz que averigüe todas las dependencias. – mithun

2

También me gustaría cargar otros tipos de archivos (binarios compilados, ...) y editar lanzamientos de github desde la línea de comandos con una herramienta bastante fácil de usar, hice algo para eso. Se llama github-release. Básicamente es una abstracción fácil de usar sobre la API de lanzamiento de Github. Está escrito en Go, así que me tomé la libertad de compilarlo para OSX/linux/windows/FreeBSD, y puedes descargar los binarios del releases page, por supuesto.

DESCARGO DE RESPONSABILIDAD: Yo soy el autor.

+0

todavía no entiendo algo. ¿Dónde vive el binario dentro del repositorio? ¿Tengo que crear otra rama con el archivo en ella? Realmente confundido – ThomasReggi

+0

No me di cuenta de que puede cargar el binario directamente en la versión o con el comando de carga github-release. – ThomasReggi

Cuestiones relacionadas