Comment conserver les releases / binaires dans GitLab?

je construis un workflow avec Gitlab, Jenkins<!-Et - probablement - Nexus (j'ai besoin d'un artefact de stockage). Je voudrais avoir GitLab pour stocker releases / binaires - est-il possible de façon pratique?

Je ne voudrais pas avoir un autre service à partir duquel une version (et de la documentation) pourrait être téléchargée, mais pour l'intégrer d'une manière ou d'une autre avec le gestionnaire de dépôt, tout comme les versions sont gérées dans par exemple GitHub. Tout des indices?

37
demandé sur VonC 2015-03-12 18:11:17

3 réponses

Mise À Jour Nov. 2015:GitLab 8.2 supporte maintenant les versions.

avec son API, vous pouvez maintenant créer et mettre à jour un communiqué associée à une balise.

Pour l'instant, il ne s'agit que de la possibilité d'ajouter des notes de version (texte markdown et pièces jointes) aux étiquettes git (aussi appelées versions).


réponse originale mars 2015

C'est en cours, et a suggéré dans suggestions 4156755:

nous acceptons les demandes de fusion pour la proposition minimale de Ciro:

  1. pour chaque balise de dépôt sous https://github.com/cirosantilli/test/releases/tag/3.0, permet de télécharger une liste de fichiers.
  2. l'envoi et Le téléchargement peut être fait directement à partir de la liste des balises.
  3. si une balise est retirée, les uploads sont détruits. (nous ne sommes pas accepter la balise d'édition de message mentionné dans les commentaires)

Les commentaires à cette suggestion suivants:

Ce qui le rend plus intéressant, c'est la prochaine étape.

Je voudrais vraiment un moyen de laisser le public télécharger des artéfacts de "releases" sans pouvoir accéder au code source (c'est-à-dire rendre les sources privées pour l'équipe de projet uniquement sauf autre chose comme wiki, "releases", "issue tracker").

cependant, cette caractéristique supplémentaire semble plus générique et je a soumis une requête de caractéristique distincte pour ce.

Néanmoins, je répète mon point ici:

Alors que la version simpliste de "releases" est toujours agréable d'avoir, beaucoup de gens peuvent facilement mettre en place un serveur de fichiers externes et URLs de point dans la description de la version / étiquette à ce serveur à L'extérieur de GitLab.

En d'autres termes, les "sorties" peut ne pas sembler attrayant désormais sans avenir l'image de l'intégration.

31
répondu VonC 2016-10-13 14:33:27

Gitlab (serveur) lui-même est pour les dépôts git. Vous n'êtes pas censé stocker des binaires en git. Nexus serait ici la voie à suivre. Vous pouvez ajouter un lien vers nexus dans vos dépôts de description ou de fichier (comme vous pouvez pointer votre jenkins construire, trop).

vous pourriez vouloir jeter un oeil à GitLab Intégration Continue qui s'intègre avec Gitlab. Ça ressemble plus à Jenkins. Je ne sais pas s'il est livré avec un stockage de données comme Nexus.

1
répondu volker 2015-03-12 18:56:15

nous utilisons scp pour copier des fichiers, comme les fichiers binaires ou des rapports, qui sont générés dans 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}
1
répondu schmunk 2015-11-26 22:29:42