Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

es:centro:servizos:gitlab [2018/05/28 14:00] (actual)
fernando.guillen creado
Línea 1: Línea 1:
 +====== Gitlab - Repositorios GIT e integración continua ======
  
 +===== Descripción del servicio =====
 +
 +Servidor de [[https://​www.gitlab.com/​|GitLab]],​ una herramienta que permite gestionar repositorios GIT de forma sencilla, muy similar a GitHub. ​
 +
 +Tiene activado [[https://​about.gitlab.com/​gitlab-ci/​|GitLab CI]] con un [[https://​docs.gitlab.com/​runner/​executors/​docker.html|runner de uso general de tipo Docker]] (y la posibilidad de añadir más runners) y [[https://​docs.gitlab.com/​ee/​user/​project/​pages/​index.html|Gitlab Pages]].
 +
 +===== Alta en el servicio =====
 +Todos los usuarios del CITIUS pueden acceder a este servicio de forma automática.
 +
 +===== Manual de usuario =====
 +==== Acceso a GitLab y primeros pasos ====
 +Se puede acceder en https://​gitlab.citius.usc.es/​. Debes usar tus credenciales del CiTIUS, en la pestaña llamada LDAP. 
 +Una vez dentro, se pueden crear nuevos proyectos de forma sencilla. Una vez creado un proyecto, se muestran por pantalla los pasos necesarios para inicializar el repositorio.
 +
 +Recuerda que si eliges acceder mediante SSH (la opción por defecto), solo podrás hacerlo desde la red interna del CiTIUS o conectandote a la VPN, y que tendrás que añadir una clave pública en las preferencias. Añadir una clave pública es muy sencillo y el propio Gitlab te explica cómo hacerlo. Es la opción recomendada si vas a trabajar desde la red del centro.
 +
 +El acceso mediante HTTPS, por el otro lado, funciona con usuario y contraseña y también es accesible desde el exterior.
 +
 +[{{ :​centro:​servizos:​gitlab_ssh_https.png?​nolink |Pulsando en el desplegable,​ puedes ver la dirección para acceder mediante HTTPS al repositorio}}]
 +
 +==== GitLab CI ====
 +Desde la versión 8.0, Gitlab CI está integrado en Gitlab. Para comenzar a usarlo, basta con crear un archivo llamado ''​.gitlab-ci.yml''​ siguiendo la [[http://​doc.gitlab.com/​ce/​ci/​quick_start/​README.html|guía de Gitlab CI]].
 +
 +==== Gitlab Pages ====
 +Las páginas de Gitlab Pages se sirven en un subdominio de ''​pages.citius.es''​ (con un alias en ''​citius.io''​),​ y se crean a partir de un trabajo de Gitlab CI. Tienes una guía básica sobre el uso de Gitlab Pages en [[https://​pages.citius.usc.es/​]] y más información en la página de [[:​centro:​servizos:​Aloxamento con Gitlab pages| alojamiento con Gitlab Pages]].
 +
 +==== Creación de proyectos en grupos ====
 +
 +Los proyectos de GitLab pueden crearse dentro de un usuario o dentro de un grupo. Si el proyecto va a ser en colaboración con otras personas, o es susceptible de ser traspasado a otra persona una vez termines el trabajo en él, entonces es preferible que crees el proyecto dentro de un grupo. Para hacerlo pulsa en el botón //Create a group// dentro de la página de //Groups//.
 +
 +==== Archivos grandes (git lfs) ====
 +
 +Los archivos mayores de 100MB no deben subirse al repositorio git de la forma habitual, sino usando ''​git-lfs''​. El procedimiento es el seguiente:
 +
 +  - Instalar el cliente de ''​git-lfs'',​ disponible en el paquete ''​git-lfs''​ en la Ubuntu 14.04 del centro o [[https://​packagecloud.io/​github/​git-lfs/​install|aquí]] para otras distribuciones.
 +  - En el directorio del repositorio,​ iniciar LFS: ''​git lfs install''​
 +  - Indicar los archivos que serán manejados con LFS (pueden usarse comodínes):​ ''​git lfs add <​nowiki>"​*.ova"</​nowiki>''​
 +  - Añadir los archivos a commits, de la forma habitual: ''​git add file.ova; git commit -m "Added big file"''​
 +  - LFS solo funciona a través de HTTPS, non de SSH. Si estás utilizando el //remote// por SSH, tienes que añadir también el de HTTPS con otro nombre antes de hacer //push//, por ejemplo: ''​git remote add origin-https <​nowiki>​https://​gitlab.citius.usc.es/​grupo/​proyecto.git</​nowiki>''​
 +  - Por último, haz un //push// al //remote// HTTPS: ''​git push origin-https master''​
 +
 +Para clonar el repositorio también hay que hacer pasos adicionales:​
 +
 +  - Hacer el //clone// de la manera habitual por HTTPS: ''​git clone <​nowiki>​https://​gitlab.citius.usc.es/​grupo/​proyecto.git</​nowiki>''​
 +  - Cambiar el directorio del repositorio y obtener los archivos del LFS: ''​git lfs fetch''​
 +
 +
 +===== Problemas y preguntas frecuentes =====
 +
 +==== Al hacer un push, recibo el siguiente error: "​error:​ RPC failed; result=22, HTTP code = 411" ====
 +
 +Si recibes el ''​HTTP code = 411'',​ necesitas configurar el comando Git para aumentar el tamaño del buffer HTTP
 +
 +<​code>​git config --global http.postBuffer 524288000 # permite ata 500MB</​code>​
 +
 +Si recibes el ''​HTTP code = 413'',​ es porque el push es demasiado grande. El servidor acepta push de hasta 70MB por HTTP y cualquier push mayor dará ese error. Si necesitas hacer push mayores tienes que usar SSH con un par de llaves ​ en lugar de por HTTP.
 +
 +==== Al clonar el repositorio,​ recibo el siguiente error: "Agent admitted failure to sign using the key." ====
 +Si tienes la clave SSH correctamente configurada en el servidor, acabas de crearla y nunca la habías probado debes ejecutar el siguiente comando para añadirla al agente de autenticación local:
 +<​code>​ssh-add</​code>​
  • es/centro/servizos/gitlab.txt
  • Última modificación: 2018/05/28 14:00
  • por fernando.guillen