¿Cómo almacenar lanzamientos / binarys en GitLab?

Estoy desarrollando un flujo de trabajo con Gitlab , Jenkins y, probablemente, Nexus (necesito un almacenamiento de artefactos). Me gustaría tener GitLab para almacenar lanzamientos / binarys , ¿es posible de una manera conveniente?

No me gustaría tener otro service desde el que se pueda download una versión (y documentation), sino integrarlo de algún modo con el administrador de repository, al igual que las versiones se manejan en, por ejemplo, GitHub. ¿Alguna pista?

Actualización de noviembre de 2015: GitLab 8.2 ahora es compatible con versiones .

Con su API, ahora puede crear y actualizar una relación asociada a una label .
Por ahora, es solo la capacidad de agregar notas de lanzamiento (text de rebajas y files adjuntos) a las tags git (también conocidas como Lanzamientos).

  • primero carga el lanzamiento binary
  • crear una nueva versión y colocar un enlace al binary cargado en la descripción

Respuesta original marzo de 2015

Esto está en progreso, y se sugiere en las sugerencias 4156755 :

Estamos aceptando requestes de fusión para la propuesta mínima de Ciro:

  1. Para cada label de repository bajo https://github.com/cirosantilli/test/releases/tag/3.0 , permita cargar y download una list de files.
  2. La carga y descarga se puede hacer directamente desde la vista de la list de tags.
  3. Si se elimina una label, las cargas se destruyen. (No estamos aceptando la edición del post de label mencionada en los comentarios recientes)

Los comentarios a esa sugerencia incluyen:

Lo que lo hace más interesante es el próximo paso.
Realmente me gustaría una forma de permitir que los artefactos de descarga públicos sean "lanzados" sin poder acceder al código fuente (es decir, hacer que las fonts sean privadas para el equipo del proyecto, excepto cualquier otra cosa como wiki, "lanzamientos", rastreador de problemas).

Sin embargo, dicha característica adicional parece más genérica y envié una request de function por separado para eso .

Sin embargo, repito mi punto aquí:
Si bien la versión simplist de "lanzamientos" aún es agradable, muchas personas pueden configurar fácilmente el server de files externo y las URL de puntos en la descripción de la versión / label en este server fuera de GitLab.
En otras palabras, los "lanzamientos" pueden no verse atractivos ahora sin una image futura de integración.

Gitlab (server) en sí mismo es para repositorys git. No se supone que almacenes binarys en git. Nexus aquí sería el path a seguir. Puede agregar un enlace a nexus en la descripción de sus repositorys o en el file Léame (como también puede apuntar a su compilation de jenkins).

Es posible que desee echar un vistazo a la continuous integration de GitLab que se integra con Gitlab. Eso parece ser más como Jenkins. No sé si se trata de un almacenamiento de datos como Nexus.

Estamos utilizando scp para copyr files, como binarys o informes, generados en 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 sftp@192.168.1.60 "mkdir -p ${CI_REPORTS_PATH}" sshpass -p "$SFTP_PASS" scp -r ${CI_APP_VOLUME}/tests/_output/* sftp@192.168.23.17:${CI_REPORTS_PATH} # return test exit-code exit ${TESTS_EXIT_CODE}