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?

Author: VonC, 2015-03-12

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).


Oryginalna odpowiedź marzec 2015

To jest w toku, i sugerowane w sugestie 4156755:

Przyjmujemy żądania scalenia minimalnej propozycji Ciro:

  1. dla każdego znacznika repozytorium pod https://github.com/cirosantilli/test/releases/tag/3.0 , pozwala na wgrywanie i pobieranie listy plików.
  2. przesyłanie i pobieranie można wykonać bezpośrednio z widoku listy tagów.
  3. 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.

 31
Author: VonC,
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.

 1
Author: volker,
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}
 1
Author: schmunk,
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