{"id":2911,"date":"2020-02-03T17:08:22","date_gmt":"2020-02-03T23:08:22","guid":{"rendered":"https:\/\/ugit.siua.ac.cr\/?p=2911"},"modified":"2020-02-10T10:05:45","modified_gmt":"2020-02-10T16:05:45","slug":"configurar-pipeline-en-gitlab","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=2911","title":{"rendered":"Configurar pipeline para llevar a producci\u00f3n en gitlab"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li>Instalar dependencias <\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install xclip sudo<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Primero vamos a crear una llave para el usuario root dentro del servidor gitlab, ingresamos como el usuario root y gitlab-runner<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -o -a 100 -t ed25519 -f ~\/.ssh\/id_ed25519 -C \"root@git.siua.ac.cr\"\nssh-keygen -o -a 100 -t ed25519 -f \/home\/gitlab-runner\/.ssh\/id_ed25519 -C \"root@git.siua.ac.cr\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego comprobamos que el servicio este corriendo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>eval \"$(ssh-agent -s)\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>A\u00f1adimos la llave al agente como usuario root<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-add ~\/.ssh\/id_ed25519\nssh-add \/home\/gitlab-runner\/.ssh\/id_ed25519<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>O todas las llaves<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-add<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego copiamos la llave al servidor que deseamos conectar como root gitlab-runner<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-copy-id -i \/root\/.ssh\/id_ed25519.pub root@web1.siua.ac.cr -p 44\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Comprobamos que podemos logearnos si pedir contrase\u00f1a<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh root@web1.siua.ac.cr -p 44<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Agregamos el usuario gitlab-runner al grupo root y sudo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo usermod -a -G root gitlab-runner\nsudo usermod -a -G sudo gitlab-runner<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego abrimos el archivo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/sudoers<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Y agregamos al final<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>gitlab-runner ALL=(ALL) NOPASSWD: ALL<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Primero hacemos dentro de la carpeta del proyecto un archivo de nombre \u00ab.gitlab-ci.yml\u00bb<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano .gitlab-ci.yml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Le agregamos el siguiente codigo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>before_script:\n   - echo \"before script...\"\n   - sudo apt update\n   - eval $(ssh-agent -s)\n   - whoami\n   - ssh-add ~\/.ssh\/id_ed25519\n   - whoami    \n\nstages:\n   - init\n   - deploy\n\ninicio:\n   stage: init\n   script:\n     - echo \"comenzando pase a producci\u00f3n\"\n\ndespliegue:\n  stage: deploy\n  script:\n    - whoami\n    - echo \"conectando al servidor....\"\n    - uname -n\n    - ssh root@web1.siua.ac.cr -p 44  \"cd \/var\/www\/html\/Sitios\/quiosco.siua.ac.cr; git pull https:\/\/usuario:password@git.siua.ac.cr\/siua\/quiosco.siua.ac.cr.git\"\n\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego debemos instalar el runner dentro del servidor de gitlab (solo una vez)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -L https:\/\/packages.gitlab.com\/install\/repositories\/runner\/gitlab-runner\/script.deb.sh | sudo bash\n\napt-get install gitlab-runner<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego le creamos una clave para el usuario gitlab-runer<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>passwd gitlab-runner<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Resultado:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Introduzca la nueva contrase\u00f1a de UNIX: \nVuelva a escribir la nueva contrase\u00f1a de UNIX: \npasswd: contrase\u00f1a actualizada correctamente<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego generamos una llave para el usuario gitlab-runner (SIN CLAVE)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -t ed25519 -C \"gustavo.matamoros@gmail.com\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Resultado:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Generating public\/private ed25519 key pair.\nEnter file in which to save the key (\/home\/gitlab-runner\/.ssh\/id_ed25519): \nEnter passphrase (empty for no passphrase): \nEnter same passphrase again: \nYour identification has been saved in \/home\/gitlab-runner\/.ssh\/id_ed25519.\nYour public key has been saved in \/home\/gitlab-runner\/.ssh\/id_ed25519.pub.\nThe key fingerprint is:\nSHA256:ExJKSyRZI531tNkQUi2zLrqQFzLUAbf\/WmG\/sX2zdQQ gustavo.matamoros@gmail.com\nThe key's randomart image is:\n+--&#91;ED25519 256]--+\n|  +*Oo+.=o       |\n|  .Bo* =o=.      |\n|  . = . =+.   E  |\n| .   . ...     . |\n|  o . ..S       .|\n|   + ..o.+     . |\n|  o .. .o o     o|\n|   o.  o   =  o..|\n|    ...   o ...o |\n+----&#91;SHA256]-----+\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Luego dentro d ela configuraci\u00f3n del proyecto ingresamos a <\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"286\" height=\"777\" src=\"\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_003.png\" alt=\"\" class=\"wp-image-2915\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_003.png 286w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_003-110x300.png 110w\" sizes=\"(max-width: 286px) 100vw, 286px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Vamos a la secci\u00f3n de runners expandir<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1018\" height=\"142\" src=\"\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_004.png\" alt=\"\" class=\"wp-image-2916\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_004.png 1018w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_004-300x42.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_004-768x107.png 768w\" sizes=\"(max-width: 1018px) 100vw, 1018px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Y aqu\u00ed vamos a encontrar la informaci\u00f3n necesaria patra darle acceso al runner<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"427\" height=\"304\" src=\"\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_005.png\" alt=\"\" class=\"wp-image-2917\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_005.png 427w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_005-300x214.png 300w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Ahora registramos el runner<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>gitlab-runner register<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Nos va pedir una serie de datos<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Runtime platform                                    arch=amd64 os=linux pid=20229 revision=003fe500 version=12.7.1\nRunning in system-mode.                            \n                                                   \nPlease enter the gitlab-ci coordinator URL (e.g. https:\/\/gitlab.com\/):\nhttps:&#47;&#47;git.siua.ac.cr\nPlease enter the gitlab-ci token for this runner:\np9VpbVS8Dy9cL7pCM41u\nPlease enter the gitlab-ci description for this runner:\n&#91;git]: Pas\u00e9 a produccion quiosco.siua.ac.cr\nPlease enter the gitlab-ci tags for this runner (comma separated):\n\nRegistering runner... succeeded                     runner=p9VpbVS8\nPlease enter the executor: docker-ssh, docker-ssh+machine, kubernetes, custom, docker, parallels, shell, ssh, virtualbox, docker+machine:\nshell\nRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Para nuestro caso el tipo va ser de tipo shell por que ocupamos ejecutar comando de este tipo<\/li><li>Ahora si recargamos la configuraci\u00f3n de gitlab en CI\/CD ya deber\u00eda aparecer el runner<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"590\" src=\"\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_006.png\" alt=\"\" class=\"wp-image-2918\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_006.png 943w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_006-300x188.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2020\/02\/Selecci\u00f3n_006-768x481.png 768w\" sizes=\"(max-width: 943px) 100vw, 943px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Pero este esta detenido, debemos arrancarlo<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>gitlab-runner run<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Si volvemos a actualizar ya se encuentra activo<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instalar dependencias Primero vamos a crear una llave para el usuario root dentro del servidor gitlab, ingresamos como el usuario root y gitlab-runner Luego comprobamos que el servicio este corriendo A\u00f1adimos la llave al agente como usuario root O todas las llaves Luego copiamos la llave al servidor que deseamos conectar como root gitlab-runner Comprobamos [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2065,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[42],"class_list":["post-2911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gitlab","tag-gitlab"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/2911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2911"}],"version-history":[{"count":14,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/2911\/revisions"}],"predecessor-version":[{"id":2932,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/2911\/revisions\/2932"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/media\/2065"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}