Both sides previous revisionPrevious revisionNext revision | Previous revision |
centro:servizos:gitlab [2015/02/26 11:58] – [Acceso a GitLab CI e primeiros pasos] jorge.suarez | centro:servizos:gitlab [2017/08/25 13:13] (actual) – [Repositorios GIT e integración continua] jorge.suarez |
---|
====== Repositorios GIT e integración continua ====== | ====== Gitlab - Repositorios GIT e integración continua ====== |
| |
===== Descrición do servizo ===== | ===== Descrición do servizo ===== |
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++// e //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 ===== |
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 a Gitlab mediante Oauth2. Só hai que premer un botón. | [{{ :centro:servizos:gitlab_ssh_https.png?nolink |Pulsando no desplegable, podes ver a 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, etc. non presentes no servidor, podes avisar a 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 a 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'' |
| |
| |
| |
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> |