Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:centro:servizos:gitlab [2018/05/23 18:03] – created fernando.guillenen:centro:servizos:gitlab [2018/05/24 17:32] (current) fernando.guillen
Line 1: Line 1:
-====== Gitlab - Repositorios GIT e integración continua ======+====== Gitlab - GIT repository and continuous integration ======
  
-===== Descrición do servizo =====+===== Service description =====
  
-Servidor de [[https://www.gitlab.com/|GitLab]], unha ferramenta que permite xestionar repositorios GIT de forma sinxelamoi similar GitHub. +[[https://www.gitlab.com/|GitLab]] servera tool to manage GIT repositories easilyvery similar to GitHub. 
  
-Ten activado [[https://about.gitlab.com/gitlab-ci/|GitLab CI]] cun [[https://docs.gitlab.com/runner/executors/docker.html|runner de uso xeral de tipo Docker]] (e a posibilidade de engadir máis runners) [[https://docs.gitlab.com/ee/user/project/pages/index.html|Gitlab Pages]].+It has [[https://about.gitlab.com/gitlab-ci/|GitLab CI]] activated with a [[https://docs.gitlab.com/runner/executors/docker.html|Docker runner]] (and the possibility to add more runners) and [[https://docs.gitlab.com/ee/user/project/pages/index.html|Gitlab Pages]].
  
-===== Alta no servizo ===== +===== Activation ===== 
-Todos os usuarios do CITIUS poden acceder a este servizo de forma automática.+All CITIUS users can use this service automatically.
  
-===== Manual de usuario ===== +===== User manual ===== 
-==== Acceso a GitLab e primeiros pasos ====+==== GitLab access and first steps ==== 
 +Go to https://gitlab.citius.usc.es/ and use your CITIUS credentials in the LDAP tab.
  
-Pódese acceder por https://gitlab.citius.usc.es/. Deberás utilizar o teu usuario e contrasinal do CiTIUS, na pestaña que pon LDAP+Once logged in create a new projectThen the steps needed to initialize the repository will be displayed.
  
-Unha vez dentropodes crear novos proxectos de forma sinxelaUnha vez creado un proxecto, mostraranse por pantalla os pasos necesarios para inicializar o repositorio.+Remember that if you choose SSH as the access method (default option)you'll only be capable of doing so from inside the CITIUS network or using the VPN and you'll need to upload a public key in the preferences sectionAdding the public key is a simple task and GitLab instructs you on the procedure. This is the recommended choice when working inside the building.
  
-Recorda que se elixes acceso mediante SSH (opción por defecto), só poderás facelo dende a rede do centro ou conectado á VPN, e que deberás engadir unha chave pública nas preferencias. Engadir unha chave pública é moi doado, e o propio Gitlab explica como facelo. É a opción recomendada se vas a traballar dende a rede do centro.+HTTPS access on the other hand works from everywhere and only valid username and password are needed.
  
-O acceso mediante HTTPS, pola contra, funciona con usuario e contrasinal, e tamén é accesible dende o exterior. +[{{ :centro:servizos:gitlab_ssh_https.png?nolink | Clicking the dropdown menu the HTTPS address is shown.}}]
- +
- +
- +
-[{{ :centro:servizos:gitlab_ssh_https.png?nolink |Pulsando no desplegable, podes ver a dirección para acceder mediante HTTPS ao repositorio}}]+
  
 ==== GitLab CI ==== ==== GitLab CI ====
- +From version 8.0 onwards Gitlab CI is integrated with Gitlab. To start it is enough to create file named ''.gitlab-ci.yml'' following the [[http://doc.gitlab.com/ce/ci/quick_start/README.html| Gitlab CI guide]].
-Dende a versión 8.0Gitlab CI está integrado en Gitlab. Para comezar usalo, basta con crear un arquivo chamado ''.gitlab-ci.yml'' seguindo a [[http://doc.gitlab.com/ce/ci/quick_start/README.html|guía de Gitlab CI]].+
  
 ==== Gitlab Pages ==== ==== Gitlab Pages ====
 +Pages in Gitlab Pages are served from a ''pages.citius.usc.es'' subdomain (with an alias in ''citiususc.io''), and are created by a Gitlab CI job. There is a basic guide about Gitlab Pages in [[https://pages.citius.usc.es/]] and more information available in [[en:centro:servizos:Aloxamento con Gitlab pages|Gitlab Pages hosting]]
  
-As páxinas de Gitlab Pages sérvense nun subdominio de ''pages.citius.usc.es'' (cun alias en ''citiususc.io''), e créanse partir dun traballo de Gitlab CITes unha guía básica sobre o uso de Gitlab Pages en [[https://pages.citius.usc.es/]] e máis información na páxina de [[:centro:servizos:Aloxamento con Gitlab pages|Aloxamento con Gitlab Pages]]+==== Project creation by groups ==== 
 +Gitlab projects can be created by a user or by a groupIf the project implies collaboration with other users or if it may be transferred to other user at some point then it is advisable to create the project in groupTo do so push the //Create a group// button inside the  //Groups// page.
  
-==== Creación de proxectos en grupos ====+==== Big files (git lfs) ==== 
 +Files bigger than 100MB shouldn't be uploaded to the git repository the same way as the others but using ''git-lfs'':
  
-Os proxectos de GitLab poden crearse dentro dun usuario ou dentro dun grupoSe o proxecto vai a ser en colaboración con outras persoasou é susceptible de ser traspasado outra persoa unha vez remates o traballo nelé preferible que cres o proxecto dentro dun grupoPara facelo, pulsa no botón //Create group// dentro da páxina de //Groups//.+  - Install the ''git-lfs'' client, available in the ''git-lfs'' package in the CITIUS Ubuntu 14.04 or [[https://packagecloud.io/github/git-lfs/install|here]] for other distros. 
 +  - Inside the repository directory install LFS: ''git lfs install'' 
 +  - Specify which files are going to be managed with LFS (wildcards can be used): ''git lfs add <nowiki>"*.ova"</nowiki>'' 
 +  - Add the files to commits as usual: ''git add file.ova; git commit -m "Added big file"'' 
 +  - LFS only works using HTTPS, not SSH. If using //remote// through SSHthen HTTPS has to be added with different name before doing //push//for example: ''git remote add origin-https <nowiki>https://gitlab.citius.usc.es/grupo/proxecto.git</nowiki>'' 
 +  - Finally make a //push// to //remote// HTTPS: ''git push origin-https master''
  
 +To clone the repository there are also additional steps:
  
-==== Arquivos grandes (git lfs) ====+  - Do the //clone// as usual using HTTPS: ''git clone <nowiki>https://gitlab.citius.usc.es/grupo/proxecto.git</nowiki>'' 
 +  - Change the repository's directory and get the files from the LFS: ''git lfs fetch''
  
-Os arquivos maiores de 100MB non deben subirse ó repositorio git da forma habitual, senon usando ''git-lfs''. O procedemento é o seguinte: 
  
-  - Instalar o cliente de ''git-lfs'', dispoñible no paquete ''git-lfs'' na Ubuntu 14.04 do centro ou [[https://packagecloud.io/github/git-lfs/install|nesta páxina]] para outras distribucións. +===== Problems and frequent questions =====
-  - No directorio do repositorio, iniciar o LFS: ''git lfs install'' +
-  - Indicar os arquivos que serán manexados co LFS (poden usarse comodíns): ''git lfs add <nowiki>"*.ova"</nowiki>'' +
-  - Engadir os arquivos a commits, da forma habitual: ''git add file.ova; git commit -m "Added big file"'' +
-  - O LFS só funciona a través de HTTPS, non de SSH. Se estás a utilizar o //remote// por SSH, tes que engadir tamén o de HTTPS con outro nome antes de facer //push//, por exemplo: ''git remote add origin-https <nowiki>https://gitlab.citius.usc.es/grupo/proxecto.git</nowiki>'' +
-  - Por último, fai un //push// ó //remote// HTTPS: ''git push origin-https master''+
  
-Para clonar o repositorio, tamén hai que facer pasos adicionais:+==== When making a push the following error appears"error: RPC failed; result=22, HTTP code = 411" ====
  
-  - Facer o //clone// da maneira habitual por HTTPS: ''git clone <nowiki>https://gitlab.citius.usc.es/grupo/proxecto.git</nowiki>'' +If you see error ''HTTP code = 411'', you need to configure the git command to increase the HTTP buffer size:
-  - Cambiar ó directorio do repositorio e obter os arquivos do LFS: ''git lfs fetch'' +
- +
- +
-===== Problemas e preguntas frecuentes ===== +
- +
-==== Ó facer un push, recibo o seguinte erro: "error: RPC failed; result=22, HTTP code = 411" ==== +
- +
-Se recibes o ''HTTP code = 411'', precisas configurar o comando git para aumentar o tamaño do buffer HTTP:+
  
 <code>git config --global http.postBuffer 524288000 # permite ata 500MB</code> <code>git config --global http.postBuffer 524288000 # permite ata 500MB</code>
  
-Se recibes o ''HTTP code = 413'', é porque o push é demasiado grandeO servidor acepta push de ata 70MB por HTTP e calquera push maior dará ese erroSe precisas facer pushes maiores, tes que usar SSH cun par de chaves en vez de HTTP. +If revciving ''HTTP code = 413'', it is because push is too bigServer accepts HTTP pushes to 70MB, more than that will produce an errorIf you need to do bigger pushes you will have to use SSH with a pair of keys instead of HTTP. 
- +
-==== Ó clonar o repositorio, recibo o seguinte erro: "Agent admitted failure to sign using the key." ====+
  
-Se tes a chave SSH correctamente configurada no servidoracabas de creala e nunca a probaches, debes executar no teu equipo o seguinte comando para engadila ó axente de autenticación local:+==== When cloning the repository I see the following error: "Agent admitted failure to sign using the key." ==== 
 +If the SSH key is correctly configured in the server but you have just created it and never tried to use itthen execute the following command to add it to the local authentication agent:
  
 <code>ssh-add</code> <code>ssh-add</code>