W związku z tym że nie ma innej odpowiedniej kategorii do napisania tego wątku stwierdziłem by napisać go tutaj. Piszę pewne małe programy w monodevelop w języku c# i w pycharm w języku python i wrzucam je na gitlab. Chciałbym was zapytać o radę i pomoc. Jak byście sugerowali tworzyć coś takiego jak jest na github w zakładce release. Mówię o dystrybucji moich programów. Chciałbym je dystrybuować poprzez gitlab w wesji appimage dla linux, w wersji portable exe dla windows i w jakiejś wersji portable dmg dla mac. Jak byście to sugerowali zrobić i jakie pliki wrzucać na gitlab żeby nie było problemów z budowaniem tych obrazów do pobrania?
Jakieś porady? Oczywiście pisałem o automatycznym budowaniu programów a nie o ręcznym każdorazowym budowaniu.
Nie wiem, jak w przypadku MonoDevelop, ale ogólnie dla C# to mam w repozytorium tylko kod, w tym packages.config
(względnie .csproj
) oraz plik YAML definiujący jak budować dla agenta budującego. Ten plik definiuje, że trzeba w zasadzie zrobić: nuget restore, msbuild solucja.sln /c:Release, 7zip na wyniku katalogu Release i ten artefakt jest publikowany potem na GitHubie w releases. Cała konfiguracja agenta u mnie akurat jest standardowa. Używam w jednym projekcie AppVeyor, on ma bezpośrednio publikację do GitHubowych Releases.
W drugim przypadku, gdzie potrzebuję nieco bardziej wymyślnego konfigu, tj. muszę doinstalować na agencie budującym pewne oprogramowanie, używam akurat Azure Pipelines, ale też w repozytorium znajduje się plik YAML z konfiguracją, gdzie jednym z kroków budowy jest choco install pewneoprogramowanie -y
, które mi po prostu doinstalowuje to, co akurat porzebuję, korzystając z Chocolatey (agent budujący jest na Windows).
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.