какова наилучшая практика распространения двоичных файлов из проекта github? [закрытый]


какова наилучшая практика распространения двоичных файлов из проекта github?

Я могу думать:

  • создать папку bin в вашем проекте, где вы храните копию бинарников. Однако github предназначен для хранения исходного кода, а не двоичных файлов, хранящих большие и регулярное изменение двоичных файлов может быть дорогим qua дискового пространства и пропускной способности?
  • загрузите копию двоичных файлов в страницы github из проект, или использовать отдельный веб сайт для размещения ваших программ. Однако, это не всегда возможно, и требует больше (рука), чтобы двоичные файлы в актуальном состоянии, я скорее хочу, чтобы двоичные файлы обновлялись автоматически или с помощью одно действие.
3 66

3 ответа:

по состоянию на 11 декабря 2012 года функция загрузки на GitHub устарела. В статье распространение больших двоичных файлов рекомендует использовать внешний сервис:

мы рекомендуем Amazon S3 для хранения в паре с CloudFront для отбывания через CDN или другие услуги, такие как SourceForge.


, С 2 июля 2013 года, теперь вы можете определить релиз.

выпускает, рабочий процесс для доставки программного обеспечения до конечных пользователей.
Релизы-это первоклассные объекты с журналами изменений и бинарными активами, которые представляют полную историю проекта за пределами артефактов Git. Они доступны с домашней страницы репозитория:

homepage

  • релизы сопровождаются заметками о выпуске и ссылками для загрузки программного обеспечения или источника код.
  • , в соответствии с соглашениями о многих проектах, ГИТ-релизы привязаны к Git теги. Вы можете использовать существующий тег или разрешить выпускам создавать тег при его публикации.
  • вы также можете присоединить двоичные активы (такие как скомпилированные исполняемые файлы, мини-скрипты, документация) к выпуску. После публикации сведения о выпуске и активы доступны всем, кто может просматривать репозиторий.

release

теперь мне ясно, что это важно не для хранения двоичных файлов в самом проекте github. Таким образом, вам нужно будет хранить двоичные файлы в другом месте. Возможные решения, с которыми я столкнулся:

  • хранить двоичные файлы в отдельном подмодуле (идея dalores). Имеет смысл хранить их в своих проектах страницы github, который вы используете для размещения вашего веб-сайта проектов через github.
  • если у вас есть только несколько файлы или zip только файл, вы можете загрузить их на GitHub через "загрузки" - > загрузить новый файл. Эта функция довольно ограничена, хотя вы не можете поместить файлы в структурированные папки.
  • в случае файлов java jar есть решения, такие как Нексус для управления библиотеками.
  • хранить двоичные файлы на совершенно отдельном сайте, который вы размещаете самостоятельно

какие двоичные файлы? Двоичные файлы должны были прийти из источника в какой-то момент, верно?

поэтому добавьте источник, который строит эти двоичные файлы в качестве подмодуля в git. Затем в процессе сборки сначала создайте эти двоичные файлы, прежде чем создавать свой источник. Подмодуль синхронизируется с определенной версией источника, который вы знаете, что работает. Вы также получаете преимущество в возможности отладки проще, так как у вас есть источник.

Если двоичные файлы не являются изображениями и т. д., то просто храните их.

Если пространство является проблемой, используйте bitbucket, поскольку у них есть неограниченное пространство.