jaka jest najlepsza praktyka dystrybucji plików binarnych z projektu github? [zamknięte]

Jaka jest najlepsza praktyka dystrybucji plików binarnych z projektu github?

Myślę o:

  • Utwórz folder bin w swoim projekcie, w którym przechowujesz kopię plików binarnych. Jednak github ma przechowywać kod źródłowy, a nie binaria przechowujące duże i regularnie zmieniające się binaria mogą być drogie qua diskspace i przepustowość?
  • wgraj kopię plików binarnych na strony github z projekt, lub użyj oddzielnej strony internetowej do hostingu / align = "left" / Jednak nie zawsze jest to wykonalne i wymaga większej (ręcznej)pracy, aby utrzymać binaries up to date, ja raczej chcę mieć binaria aktualizowane automatycznie lub z pojedyncza akcja.
Author: Jos de Jong, 2012-04-27

3 answers

Od 11 grudnia 2012 r. funkcja pobierania na Githubie jest przestarzała . Artykuł rozprowadzanie dużych plików binarnych zaleca korzystanie z zewnętrznego serwisu:

Zalecamy Amazon S3 do przechowywania w połączeniu z CloudFront do serwowania poprzez CDN lub inne usługi, takie jak SourceForge .


Jednak od 2 lipca 2013 r. możesz teraz zdefiniować release .

Releases , a workflow do wysyłki oprogramowania do użytkowników końcowych.
Wydania są obiektami pierwszej klasy z listami zmian i zasobami binarnymi, które prezentują pełną historię projektu poza artefaktami Gita. Są one dostępne ze strony głównej repozytorium:

Strona główna

  • do wydań dołączone są informacje o wydaniu oraz linki do pobrania oprogramowania lub kodu źródłowego.
  • zgodnie z konwencjami wielu projektów Git, Wydania są powiązane z tagami Git. Można użyć istniejącego znacznika lub pozwolić wydania tworzą znacznik po jego opublikowaniu.
  • Do wydania można również dołączyć zasoby binarne (takie jak skompilowane pliki wykonywalne, minifikowane Skrypty, dokumentacja). Po opublikowaniu szczegóły wydania i zasoby są dostępne dla każdego, kto może przeglądać repozytorium.

uwolnienie

 58
Author: vitaut,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-03 05:45:18

Jest dla mnie jasne, że ważne jest , a nie, aby przechowywać pliki binarne w samym projekcie github. Dlatego będziesz musiał przechowywać pliki binarne w innym miejscu. Możliwe rozwiązania, na które natknąłem się to:

  • przechowuj binaria w osobnym podmodule (dalores idea ). Warto przechowywać je w swoich projektach github pages , których używasz do hostowania swojej strony internetowej poprzez github.
  • Jeśli masz tylko kilka plików binarnych lub tylko plik zip, możesz je przesłać do github poprzez Downloads - > Upload a new file. Ta funkcja jest jednak dość ograniczona, nie można umieszczać plików w strukturyzowanych folderach.
  • W przypadku plików java jar istnieją rozwiązania, takie jak Nexus do zarządzania bibliotekami.
  • przechowuj pliki binarne na całkowicie oddzielnej stronie, którą sam hostujesz
 18
Author: Jos de Jong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:25:25

Jakie binaria? Binaria musiały w pewnym momencie pochodzić ze źródła, prawda?

Więc Dodaj źródło, które buduje te binaria jako podmodule w git. Następnie w procesie budowania zbuduj te binaria najpierw przed zbudowaniem źródła. Podmoduł jest zsynchronizowany z konkretną wersją źródła, które działa. Zyskujesz również możliwość łatwiejszego debugowania, ponieważ masz źródło.

Chyba, że binaria są obrazkami itp., to po prostu przechowuj te.

Jeśli problemem jest spacja, użyj bitbucket, ponieważ mają nieograniczoną przestrzeń.

 2
Author: dalore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-01 17:01:31