{"id":9395,"date":"2025-08-11T22:51:31","date_gmt":"2025-08-11T20:51:31","guid":{"rendered":"https:\/\/www.nicalia.com\/nicapedia\/guias\/desarrollo-web\/guia-de-git\/guia-de-git-implementacion\/"},"modified":"2025-08-12T17:36:02","modified_gmt":"2025-08-12T15:36:02","slug":"guia-de-git-implementacion","status":"publish","type":"docs","link":"https:\/\/www.nicalia.com\/nicapedia\/guias\/desarrollo-web\/guia-de-git\/guia-de-git-implementacion\/","title":{"rendered":"Gu\u00eda de Git: Despliegue"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p>La funci\u00f3n <strong><a href=\"https:\/\/www.nicalia.com\/nicapedia\/guias\/cpanel\/archivos\/gestion-de-control-de-versiones-git-en-cpanel\/\" data-type=\"docs\" data-id=\"9356\">Git Version Control<\/a><\/strong> de cPanel (<code>cPanel \u2192 Archivos \u2192 Git Version Control<\/code>) permite desplegar c\u00f3digo de repositorios gestionados en tu cuenta.<br>El despliegue normalmente env\u00eda c\u00f3digo finalizado al entorno de producci\u00f3n, por ejemplo, para aplicar cambios a tu sitio web.<\/p>\n\n\n\n<p>Puedes configurarlo para que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Push deployment<\/strong>: despliegue autom\u00e1tico al hacer <em>push<\/em> desde tu equipo.<\/li>\n\n\n\n<li><strong>Pull deployment<\/strong>: despliegue manual desde la interfaz de cPanel.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Requisitos para el despliegue<\/h2>\n\n\n\n<p>Antes de que un repositorio pueda desplegarse, debe cumplir con:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tener un archivo v\u00e1lido <code>.cpanel.yml<\/code> en la <strong>ra\u00edz del repositorio<\/strong>.<\/li>\n\n\n\n<li>Contar con una o m\u00e1s ramas locales o remotas.<\/li>\n\n\n\n<li>Tener el <strong>\u00e1rbol de trabajo limpio<\/strong> (sin cambios pendientes).<\/li>\n<\/ul>\n\n\n\n<p>Si no se cumplen estas condiciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No se mostrar\u00e1 informaci\u00f3n de despliegue en la interfaz.<\/li>\n\n\n\n<li>El bot\u00f3n o la funci\u00f3n de despliegue estar\u00e1n deshabilitados.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">El archivo <code>.cpanel.yml<\/code><\/h2>\n\n\n\n<p>Este archivo define <strong>c\u00f3mo<\/strong> y <strong>d\u00f3nde<\/strong> se publican los cambios.<br>Debe crearse y agregarse al control de versiones (commit) en la carpeta ra\u00edz del repositorio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Importante:<\/strong>\n\n- Los ejemplos de abajo son ilustrativos, debes adaptarlos a tu entorno.\n\n- No uses comodines (*) para copiar todo, ya que podr\u00edas subir contenido no deseado (como la carpeta .git).\n\n- Evita caracteres no v\u00e1lidos en YAML. Consulta <a href=\"http:\/\/yaml.org\" data-type=\"link\" data-id=\"yaml.org\" target=\"_blank\" rel=\"noopener\">yaml.org<\/a> para detalles.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Ejemplo: desplegar archivos individuales<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>---<br>deployment:<br>  tasks:<br>    - export DEPLOYPATH=\/home\/example\/public_html\/<br>    - \/bin\/cp index.html $DEPLOYPATH<br>    - \/bin\/cp style.css $DEPLOYPATH<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L\u00ednea 1<\/strong>: inicio del documento YAML.<\/li>\n\n\n\n<li><strong>L\u00edneas 2-3<\/strong>: definici\u00f3n de claves <code>deployment<\/code> y <code>tasks<\/code>.<\/li>\n\n\n\n<li><strong>L\u00edneas 4-6<\/strong>: lista de comandos <strong>Bash<\/strong> que se ejecutar\u00e1n durante el despliegue.<br>Puedes a\u00f1adir tantos como necesites.<\/li>\n\n\n\n<li>Para comentarios, comienza la l\u00ednea con <code>#<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Ejemplo: desplegar un directorio completo<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>---<br>deployment:<br>  tasks:<br>    - export DEPLOYPATH=\/home\/example\/public_html\/<br>    - \/bin\/cp -R images $DEPLOYPATH<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L\u00ednea 1<\/strong>: inicio del documento YAML.<\/li>\n\n\n\n<li><strong>L\u00edneas 2-3<\/strong>: definici\u00f3n de claves.<\/li>\n\n\n\n<li><strong>L\u00edneas 4-5<\/strong>: comandos para copiar todo un directorio (opci\u00f3n <code>-R<\/code> para recursivo).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Despliegue autom\u00e1tico (Push deployment)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cPanel a\u00f1ade autom\u00e1ticamente un <strong>hook post-receive<\/strong> a todos los repositorios que gestiona.<\/li>\n\n\n\n<li>Cuando haces un <code>git push<\/code> hacia un repositorio en cPanel que contiene un <code>.cpanel.yml<\/code> v\u00e1lido:\n<ol class=\"wp-block-list\">\n<li>El hook ejecuta el archivo <code>.cpanel.yml<\/code>.<\/li>\n\n\n\n<li>Se copian los cambios a la ruta de producci\u00f3n (por ejemplo, <code>public_html<\/code>).<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Ventajas:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un solo comando (<code>git push<\/code>) actualiza el sitio.<\/li>\n\n\n\n<li>Ideal para flujos de trabajo donde el c\u00f3digo se prueba en local y se publica directamente.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Tambi\u00e9n puedes reejecutar el despliegue manualmente sin necesidad de subir nuevos cambios.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Despliegue manual (Pull deployment)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se utiliza cuando el repositorio en cPanel obtiene cambios desde un remoto (no directamente desde tu equipo).<\/li>\n\n\n\n<li>Flujo:\n<ol class=\"wp-block-list\">\n<li>Desde tu equipo, haces <code>git push<\/code> hacia el repositorio remoto (por ejemplo, GitHub).<\/li>\n\n\n\n<li>En cPanel, entras a <strong>Manage \u2192 Pull or Deploy<\/strong>.<\/li>\n\n\n\n<li>Pulsas <strong>Update from Remote<\/strong> para traer cambios.<\/li>\n\n\n\n<li>Pulsas <strong>Deploy HEAD Commit<\/strong> para ejecutar el <code>.cpanel.yml<\/code> y aplicar los cambios en producci\u00f3n.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Ventajas:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Control total sobre cu\u00e1ndo se aplican los cambios.<\/li>\n\n\n\n<li>\u00datil si varios colaboradores suben cambios a un repositorio central antes de desplegar.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n La funci\u00f3n Git Version Control de cPanel (cPanel \u2192 Archivos \u2192 Git Version Control) permite desplegar c\u00f3digo de repositorios gestionados en tu cuenta.El despliegue normalmente env\u00eda c\u00f3digo finalizado al entorno de producci\u00f3n, por ejemplo, para aplicar cambios a tu sitio web. Puedes configurarlo para que: Requisitos para el despliegue Antes de que un repositorio [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":9381,"menu_order":7,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-9395","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/9395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/comments?post=9395"}],"version-history":[{"count":3,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/9395\/revisions"}],"predecessor-version":[{"id":9419,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/9395\/revisions\/9419"}],"up":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/9381"}],"wp:attachment":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/media?parent=9395"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_tag?post=9395"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_badge?post=9395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}