Diferenzas

Isto amosa as diferenzas entre a revisión seleccionada e a versión actual da páxina.

Enlazar a esta vista de comparación

Both sides previous revisionPrevious revision
Next revision
Previous revision
centro:servizos:gitlab [2015/02/26 11:58] – [Acceso a GitLab CI e primeiros pasos] jorge.suarezcentro:servizos:gitlab [2017/08/25 13:13] (actual) – [Repositorios GIT e integración continua] jorge.suarez
Liña 1: Liña 1:
-====== Repositorios GIT e integración continua ======+====== Gitlab - Repositorios GIT e integración continua ======
  
 ===== Descrición do servizo ===== ===== Descrición do servizo =====
Liña 5: Liña 5:
 Servidor de [[https://www.gitlab.com/|GitLab]], unha ferramenta que permite xestionar repositorios GIT de forma sinxela, moi similar a GitHub.  Servidor de [[https://www.gitlab.com/|GitLab]], unha ferramenta que permite xestionar repositorios GIT de forma sinxela, moi similar a GitHub. 
  
-O servizo tamén conta cun servidor de [[https://www.gitlab.com/gitlab-ci/|GitLab CI]] (integración continua)Polo de agora, conta cun servidor de compilación con 4GB de RAM, capaz de compilar programas escritos en //C++// //Java//.+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) e [[https://docs.gitlab.com/ee/user/project/pages/index.html|Gitlab Pages]].
  
 ===== Alta no servizo ===== ===== Alta no servizo =====
Liña 21: Liña 21:
 O acceso mediante HTTPS, pola contra, funciona con usuario e contrasinal, e tamén é accesible dende o exterior. O acceso mediante HTTPS, pola contra, funciona con usuario e contrasinal, e tamén é accesible dende o exterior.
  
-[{{ :centro:servizos:captura_de_pantalla_de_2014-05-15_15_31_33.png?nolink |Pulsando en HTTPS, podes ver a dirección para acceder mediante HTTPS ó repositorio GIT}}] 
  
-==== Acceso a GitLab CI e primeiros pasos ==== 
  
-Pódese acceder por https://gitlab-ci.citius.usc.es/ e o login faise conectándose Gitlab mediante Oauth2. Só hai que premer un botón.+[{{ :centro:servizos:gitlab_ssh_https.png?nolink |Pulsando no desplegable, podes ver dirección para acceder mediante HTTPS ao repositorio}}]
  
-Para utilizar GitLab CI tes que ter o teu proxecto dispoñible en GitLab (pode ser privado). Unha vez esté dispoñible alí, podes pulsar no botón //Add// correspondente en GitLab CI. Unha vez o fagas, xa aparecerán instrucións sobre como proceder.+==== GitLab CI ====
  
-{{ :centro:servizos:captura_de_pantalla_de_2014-05-15_15_23_37.png?nolink |}}+Dende a versión 8.0, Gitlab CI está integrado en Gitlab. Para comezar a 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]].
  
-En //Settings//, no cadro //Build steps//, debes poñer os pasos necesarios para compilar e lanzar as probas, se as tiveras. Para probar que todo funciona correctamente, podes ir ó proxecto en GitLab a //Settings// » //Services// » //Gitlab CI// e pulsar en //Test settings// para forzar unha pasada de proba.+==== Gitlab Pages ====
  
-Se algún paso falla porque precisas bibliotecas, compiladores, etcnon presentes no servidorpodes avisar través do [[https://citius.usc.es/dashboard/enviar-incidencia|formulario de envío de incidencias]].+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 CI. Tes 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]]
  
 ==== Creación de proxectos en grupos ==== ==== Creación de proxectos en grupos ====
  
-Os proxectos de GitLab poden crearse dentro dun usuario ou dentro dun grupo. Se o proxecto vai a ser en colaboración con outras persoas, ou é susceptible de ser traspasado a outra persoa unha vez remates o traballo nel, é preferible que cres o proxecto dentro dun grupo. Para facelo, pulsa no botón //Create a group// dentro da páxina de //New project//.+Os proxectos de GitLab poden crearse dentro dun usuario ou dentro dun grupo. Se o proxecto vai a ser en colaboración con outras persoas, ou é susceptible de ser traspasado a outra persoa unha vez remates o traballo nel, é preferible que cres o proxecto dentro dun grupo. Para facelo, pulsa no botón //Create a group// dentro da páxina de //Groups//.
  
-{{ :centro:servizos:captura_de_pantalla_de_2014-05-15_15_22_51.png?nolink |}}+ 
 +==== Arquivos grandes (git lfs) ==== 
 + 
 +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. 
 +  - 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: 
 + 
 +  - Facer o //clone// da maneira habitual por HTTPS: ''git clone <nowiki>https://gitlab.citius.usc.es/grupo/proxecto.git</nowiki>'' 
 +  - Cambiar ó directorio do repositorio e obter os arquivos do LFS: ''git lfs fetch''
  
  
Liña 51: Liña 64:
  
 Se recibes o ''HTTP code = 413'', é porque o push é demasiado grande. O servidor acepta push de ata 70MB por HTTP e calquera push maior dará ese erro. Se precisas facer pushes maiores, tes que usar SSH cun par de chaves en vez de HTTP. Se recibes o ''HTTP code = 413'', é porque o push é demasiado grande. O servidor acepta push de ata 70MB por HTTP e calquera push maior dará ese erro. Se precisas facer pushes maiores, tes que usar SSH cun par de chaves en vez de HTTP.
 +
 +==== Ó clonar o repositorio, recibo o seguinte erro: "Agent admitted failure to sign using the key." ====
 +
 +Se tes a chave SSH correctamente configurada no servidor, acabas de creala e nunca a probaches, debes executar no teu equipo o seguinte comando para engadila ó axente de autenticación local:
 +
 +<code>ssh-add</code>