¿Almacenar automáticamente cada compilation en github?

Mi código es comstackdo por varias personas (varias máquinas) varias veces al día. Me gustaría que cada compilation se cargue automáticamente en nuestra count de Github cada vez que alguien complete una compilation. Básicamente, estas cremalleras comstackdas se envían al hardware real a través de la unidad de memory flash o correo electrónico o Dropbox (de varias maneras en function de muchas condiciones). Como el zip siempre se llama igual, a veces la versión anterior se elimina en el dispositivo, a veces se almacena en un directory / old. Me gustaría dejar de perder versiones antiguas y conservar un repository central de cada versión almacenada cronológicamente. Github parece ser el lugar perfecto para eso.

Por supuesto, podría pedirle a cada usuario que cargue el zip terminado que crearon en una location central, pero me gustaría que fuera un process automático si fuera posible. Entonces, ¿Github ofrece una function como esa?

Si bien github es perfecto para queueborar en las fonts, no es para administrar la construcción y sus artefactos. Es posible que en algún momento desee consultar compañías como Cloudbees , que ofrecen entornos de compilation e integración alojados, que se dirigen exactamente a las partes del flujo de trabajo más allá de la administración de origen. Pero esos están principalmente dirigidos al desarrollo de Java, que pueden o no ajustarse a sus necesidades.

Además de eso, si realmente solo quieres tener un montón de files zip con el time de tus comstackciones accesibles para mucha gente, ¿no sería suficiente con un buen server FTP a la antigua para tus necesidades, tal vez?

Github parece ser el lugar perfecto para eso.

No realmente, ya que poner binarys grandes en un repository distribuido (es decir, un repository que se clona en su totalidad ) no es una buena idea .

Para get una versión específica de su binary, debería clonar el repository "artefactos" de GitHub, antes de poder seleccionar el correcto para implementar.
Y con las entregas múltiples, ese repository se haría cada vez más grande, haciendo que el clon sea más largo.
Sin embargo, si solo tiene un lugar para implementar, es cierto que una búsqueda de git solo obtendría los nuevos artefactos (actualización incremental).

Pero:

  • GitHub no ofrece un espacio ilimitado (y de nuevo, ese repository crecerá rápidamente con todas las entregas)
  • limpiar un repository (es decir, borrar versiones antiguas de los binarys que quizás no necesite) es difícil.

De nuevo, usar GitHub o cualquier otro DVCS (Distributed VCS) para el propósito de la entrega no parece adecuado.

Si puede configurar un repository de artefactos públicos como Nexus , podrá entregar tantos binarys como desee y podrá limpiarlos (eliminarlos) fácilmente.

Github tiene el concepto de files adjuntos a un repository (pero no en el repository, están almacenados en s3) y hay una API para cargar files en él.

Puede llamar a esa API como parte de su process de compilation.

Si tiene un server de continuous integration construyendo su código después de cada confirmación, debería poder almacenar los productos de construcción en algún lugar, pero es posible que tenga que manejar la integración usted mismo si los quiere almacenar en GitHub (a diferencia de en el CI el disco duro del server)