github - trabajar - git push tag
¿Cuál es la mejor práctica de distribuir binarios de un proyecto github? (3)
¿Cuál es la mejor práctica de distribuir binarios de un proyecto github?
Puedo pensar en:
- Crea una carpeta bin en tu proyecto donde guardes una copia de los binarios. Sin embargo, github está destinado a almacenar código fuente y no binarios. Almacenar binarios grandes y que cambian regularmente puede ser costoso como espacio de disco y ancho de banda.
- Suba una copia de los archivos binarios a las páginas de github del proyecto o use un sitio web aparte para alojar sus archivos binarios. Sin embargo, eso no siempre es factible y requiere más trabajo (manual) para mantener los binarios actualizados, prefiero que los binarios se actualicen automáticamente o con una sola acción.
¿Qué tipo de binarios? Los binarios deben haber venido de la fuente en algún momento, ¿verdad?
Así que agrega la fuente que construye esos binarios como un submódulo en git. Luego, en su proceso de compilación, cree esos binarios antes de crear su fuente. El submódulo se mantiene sincronizado con una versión específica de la fuente que usted sabe que funciona. También obtiene el beneficio de poder depurar más fácilmente ya que tiene la fuente.
A menos que los binarios sean imágenes, etc., solo almacénelas.
Si el problema es el espacio, utiliza bitbucket ya que tienen espacio ilimitado.
A partir del 11 de diciembre de 2012, la función Descargas en GitHub queda obsoleta . El artículo Distribución de binarios grandes recomienda el uso de un servicio externo:
Recomendamos Amazon S3 para almacenamiento emparejado con CloudFront para servir a través de CDN u otros servicios como SourceForge .
Sin embargo, desde el 2 de julio de 2013 , ahora puede definir una versión .
Releases , un flujo de trabajo para enviar software a los usuarios finales.
Las versiones son objetos de primera clase con registros de cambios y activos binarios que presentan un historial completo del proyecto más allá de los artefactos Git. Se puede acceder desde la página principal de un repositorio:
- Las versiones se acompañan de notas de la versión y enlaces para descargar el software o el código fuente.
- Siguiendo las convenciones de muchos proyectos de Git, los lanzamientos están ligados a las etiquetas de Git. Puede usar una etiqueta existente o permitir que las versiones creen la etiqueta cuando se publique.
- También puede adjuntar activos binarios (como ejecutables compilados, scripts minificados, documentación) a una versión . Una vez publicados, los detalles y los activos están disponibles para cualquiera que pueda ver el repositorio.
Ahora me queda claro que es importante no almacenar binarios en tu proyecto github. Por lo tanto, deberá almacenar binarios en otro lugar. Las posibles soluciones que encontré son:
- Almacene los binarios en un submódulo separado ( idea de dalores ). Tiene sentido almacenarlos en las páginas github de sus proyectos, que usa para alojar el sitio web de sus proyectos a través de github.
- Si solo tiene unos pocos archivos binarios o archivos zip, puede cargarlos en github a través de Descargas -> Cargar un archivo nuevo. Sin embargo, esta característica es bastante limitada, no puede colocar archivos en carpetas estructuradas.
- En el caso de los archivos java jar, existen soluciones como Nexus para administrar sus bibliotecas.
- Almacene los binarios en un sitio completamente separado que usted aloja