Jak przechowywać wydania / binaria w GitLab?
Buduję workflow z Gitlab, Jenkins i - prawdopodobnie - Nexus (potrzebuję magazynu artefaktów). Chciałbym mieć GitLab Do Przechowywania releases / binaries - czy jest to możliwe w wygodny sposób?
Nie chciałbym mieć innej usługi, z której można by pobrać release (i dokumentację), ale mieć ją w jakiś sposób zintegrowaną z repozytorium, tak jak Wydania są obsługiwane np. w Githubie. Jakieś wskazówki?
3 answers
Update November 2015: GitLab 8.2 obsługuje teraz Wydania .
Z jego API, możesz teraz utworzyć i zaktualizować relase skojarzony z tagiem .
Na razie jest to tylko możliwość dodawania notatek do wydania (tekstu znaczników i załączników) do znaczników git (aka Releases).
- pierwszy upload the release binary
- Utwórz nową wersję i umieść link do przesłanego pliku binarnego w opisie
Oryginalna odpowiedź marzec 2015
To jest w toku, i sugerowane w sugestie 4156755:
Przyjmujemy żądania scalenia minimalnej propozycji Ciro:
- dla każdego znacznika repozytorium pod https://github.com/cirosantilli/test/releases/tag/3.0 , pozwala na wgrywanie i pobieranie listy plików.
- przesyłanie i pobieranie można wykonać bezpośrednio z widoku listy tagów.
- jeśli znacznik zostanie usunięty, przesłane pliki zostaną zniszczone. (nie jesteśmy akceptowanie wiadomości tag edit wymienionych w ostatnich komentarzach)
Komentarze do tej sugestii To:
Co sprawia, że bardziej interesujące jest następny krok.
Naprawdę chciałbym sposób na publiczne pobieranie artefaktów z" wydań " bez możliwości uzyskania dostępu do kodu źródłowego (tzn. uczynić źródła prywatnymi tylko dla zespołu projektowego, z wyjątkiem czegokolwiek innego, jak wiki, "wydania", issue tracker).Jednak taka dodatkowa funkcja wygląda bardziej generic i ja złożyli osobną prośbę o to.
Niemniej jednak powtarzam tu swój punkt:
Chociaż uproszczona wersja "releases" jest nadal przyjemna, Wiele osób może łatwo skonfigurować zewnętrzny serwer plików i wskazać adresy URL w opisie wydania/tagu na ten serwer poza GitLab.
Innymi słowy, "uwolnienia" mogą nie wyglądać atrakcyjnie bez przyszłego obrazu integracji.
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
2016-10-13 14:33:27
Gitlab (server) jest przeznaczony dla repozytoriów Gita. Nie powinieneś przechowywać binariów w git. Nexus będzie tutaj. Możesz dodać link do Nexusa w opisie repozytoriów lub pliku readme (np. Możesz tam wskazać swoją kompilację Jenkinsa).
Możesz rzucić okiem na ciągłą integrację GitLab, która integruje się z Gitlab. To raczej coś w stylu Jenkinsa. Nie wiem, czy chodzi o przechowywanie danych, takie jak Nexus.
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
2015-03-12 18:56:15
Używamy scp
do kopiowania plików, takich jak binaria lub raporty, wygenerowane w GitlabCI.
# capture test exit code
set +e
bash build/ci/test.sh; TESTS_EXIT_CODE=$?
set -e
# copy reports
sshpass -p "$SFTP_PASS" ssh -o StrictHostKeyChecking=no [email protected] "mkdir -p ${CI_REPORTS_PATH}"
sshpass -p "$SFTP_PASS" scp -r ${CI_APP_VOLUME}/tests/_output/* [email protected]:${CI_REPORTS_PATH}
# return test exit-code
exit ${TESTS_EXIT_CODE}
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
2015-11-26 22:29:42