no way to compare when less than two revisions

Diferencias

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


es:centro:servizos:gitlab [2018/05/28 14:00] (actual) – creado fernando.guillen
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>