Uso de hosting remoto de Git

Vea el tutorial en vídeo (EN)

Este escenario puede resultarle útil si ya está usando algún repositorio remoto en GitHub (github.com) o BitBucket (bitbucket.org). Los cambios se envían a este repositorio remoto y Plesk los recupera desde el repositorio remoto y los despliega en su sitio web.

A continuación en esta sección:

Clonación de un repositorio Git

Uso de una conexión SSH

Pull y despliegue de archivos

Cambio de rama o ruta

Seleccionar un modo de despliegue

Uso de webhooks para pull automático

Activación de otras acciones de despliegue

Visualización de los registros de modificaciones

Cambio de nombre o eliminación de un repositorio

 

Clonación de un repositorio Git

Puede crear un repositorio Git que sea un clon de un repositorio remoto. Vaya a Sitios web y dominios y haga clic en Git. Si ya ha creado algún repositorio Git para su dominio, haga clic en el botón Añadir repositorio. Verá la pantalla para la creación de repositorios:

Git_remote_create_HTTPS

En primer lugar, seleccione donde se almacena su código. En este escenario, seleccione Hosting remoto de Git, como GitHub o BitBucket.

Repositorio Git remoto. Introduzca la ruta a su repositorio remoto en BitBucket o GitHub. Puede indicarla en formato HTTPS o SSH. Como no se soporta la autenticación HTTP/HTTPS, únicamente puede usar el protocolo si un repositorio no requiere autenticación. Si se usa un repositorio Git privado, deberá autenticarse con una clave SSH generada por Plesk. Encontrará más información al respecto en Uso de una conexión SSH.

En la sección Su sitio web, especifique lo siguiente:

  • El modo de despliegue. Por defecto, se usa el despliegue automático. Esto significa que todos los cambios que se hayan propagado al repositorio Git se desplegarán automáticamente en el sitio de producción. Si desea modificar el modo de despliegue, haga clic en el enlace desplegado automáticamente y seleccione otra opción en la ventana Modo de despliegue emergente. Si de lo contrario se ha seleccionado Despliegue manual, deberá desplegar los archivos manualmente desde el repositorio Git hasta su hosting. Si ha seleccionado Sin despliegue, los archivos no se desplegarán en el sitio de producción. Esto puede resultarle útil si, por ejemplo, desea almacenar e intercambiar código.

    Git_push_Deployment_mode

  • Un directorio de destino para la publicación de los archivos Git en su sitio web. Por defecto, se usa el directorio /httpdocs. Si desea usar otro directorio, haga clic en el nombre del directorio deseado.

    Git_push_Deployment_path

Haga clic en ACEPTAR.Plesk intentará conectarse al repositorio remoto y clonarlo.

Progress1

Una vez el diálogo de progreso muestre que la clonación se ha completado correctamente, el nuevo repositorio aparecerá en la página Git.

Progress3

El nuevo repositorio se mostrará en Sitios web y dominios > Git. El nombre del repositorio remoto se usará como nombre de repositorio Git. Más adelante puede cambiar el nombre del repositorio. Para más información al respecto, consulte la sección Cambio de nombre o eliminación de un repositorio .

El repositorio creado es un clon del repositorio remoto y se usará para hacer pull de los cambios de este y para desplegarlos al directorio de destino.

Git_remote_created

 

Uso de una conexión SSH

Puede usar SSH para conectarse al repositorio Git remoto. En este caso, especifique la URL del repositorio remoto en formato SSH cuando cree un directorio. Aparecerá el campo Clave pública SSH y se mostrará la clave pública SSH generada automáticamente por Plesk.

Git_pull_create_SSH

Antes de hacer clic en ACEPTAR en esta pantalla, añada la clave SSH a la configuración del repositorio Git remoto. Si desea más información al respecto, consulte la documentación acerca de la adición de una clave SSH para GitHub y BitBucket.

 

Pull y despliegue de archivos

Una vez haya modificado los archivos de su sitio web y haya hecho push de estos al repositorio remoto, vaya a Sitios web y dominios y haga clic en el botón Pull de actualizaciones que aparece al lado del nombre del repositorio. Los cambios del repositorio remoto se enviarán al repositorio Git clonado.

En Sitios web y dominios > Git puede ver la información sobre la última modificación.

Por defecto, Plesk usa el modo Despliegue automático. Esto significa que una vez se ha hecho push de un archivo al repositorio, este se despliega en el directorio de destino de forma inmediata. Puede desactivar este modo siguiendo las indicaciones detalladas en la sección Selección del modo de despliegue .

Por ejemplo, si ha hecho pull de un archivo index.html con el texto “Hello! Welcome to my site.”, puede hacer clic inmediatamente en la URL del sitio web para ver los cambios.

Git_website

 

Cambio de rama o ruta

Despliegue desde una rama nueva

Es una práctica habitual utilizar varias ramas en un repositorio. De todos modos, sólo puede existir una rama activa. Por defecto, para los despliegues se usa la rama master.

Si desea añadir una rama, créela en su repositorio remoto y a continuación haga pull de los cambios. Ahora puede seleccionar una o más ramas activas en Plesk. Vaya a Sitios web y dominios > Git, haga clic en Cambiar rama y ruta y, en la ventana abierta, seleccione el nombre de la rama en el menú Rama.

Git_remote_new_branch

Una vez seleccionada la rama nueva y haya hecho clic en ACEPTAR, Plesk mostrará la nueva rama activa.

Git_remote_branch

Cambiar la ruta de despliegue

Por defecto, para la publicación de archivos Git en su sitio web se utiliza el directorio /httpdocs. Si desea modificar la ruta de despliegue, vaya a Sitios web y dominios > Git, haga clic en el enlace Cambiar rama y ruta y seleccione el nuevo directorio en la ventana emergente.

Git_remote_change_folder

 

Seleccionar un modo de despliegue

Es posible seleccionar un modo de despliegue para su repositorio. Vaya a Sitios web y dominios > Git, haga clic en Configuración del repositorio y seleccione una de las opciones presentes en Seleccione el modo de despliegue:

  • Despliegue automático. Seleccione esta opción si desea que Plesk despliegue todos los cambios de inmediato al sitio de producción.
  • Despliegue manual. En este caso, deberá desplegar los archivos de forma manual haciendo clic en el botón Desplegar desde repositorio presente en Sitios web y dominios > Git. Asimismo, también puede desplegar archivos de forma manual haciendo clic en el botón Desplegar que aparece al lado del nombre del repositorio en Sitios web y dominios.
  • Sin despliegue (hosting de repositorios). En este caso, los archivos no se desplegarán en el sitio de producción. Puede usar esta opción, por ejemplo, si desea utilizar un repositorio Git únicamente para almacenar e intercambiar código.

    Git_remote_deploy_mode

 

Uso de webhooks para pull automático

Puede utilizar webhooks para configurar su repositorio remoto para que notifique a Plesk sobre determinados eventos, como por ejemplo el push de archivos al repositorio. Si desea más información al respecto, consulte la documentación acerca de la gestión de webhooks en BitBucket o GitHub.

La URL de Webhook para un repositorio se genera automáticamente. Para verla, haga clic en Configuración de repositorios.

Git_remote_webhook

Copie la URL de webhook, añádala a su repositorio remoto y configúrelo para desencadenarlo en el caso de un push al repositorio. Como resultado, cada vez que se haga push de un archivo al repositorio remoto, Plesk será notificado acerca del evento de push y realizará un pull automático de los archivos, por lo que usted no deberá hacer clic en el botón Pull de actualizaciones. Si se ha configurado el despliegue automático para un repositorio, los archivos se desplegarán en el sitio web de forma inmediata.

Nota: si Plesk se protege con un certificado autofirmado, es posible que el webhook no funcione si este es llamado mediante el protocolo HTTP debido a incidencias handshake de SSL/TLS. En este caso, especifique el protocolo HTTP en la URL del webhook.

 

Activación de otras acciones de despliegue

En muchos casos, la publicación de archivos no es suficiente para completar el despliegue de un sitio web. Por ejemplo, si está usando un framework como Ruby on Rails, puede que necesite ejecutar una tarea de migración de datos con un comando como  bin/rails db:migrate.

Plesk le permite definir un o más comandos adicionales, que se ejecutarán cada vez que se desplieguen archivos en el sitio web.

Vaya a Sitios web y dominios > Git, haga clic en Configuración del repositorio, seleccione Habilitar acciones adicionales de despliegue e introduzca uno o más comandos shell que se ejecutarán cada vez que se desplieguen los contenidos del repositorio. Separe los comandos con un salto de línea.

Git_remote_actions

Nota: en Linux, si se prohíbe el acceso mediante SSH para el usuario del sistema del dominio, todos los comandos especificados se ejecutarán en un entorno chrooted. El directorio principal del usuario de sistema de la suscripción es tratado como la raíz del sistema de archivos para dicha suscripción y no podrán ejecutarse archivos binarios fuera del chroot jail. Por ejemplo, si la ruta a su sitio es /var/www/vhosts/example.com/httpdocs, en el entorno chrooted la ruta será ./httpdocs, por lo que no podrá ejecutar comandos fuera de un nivel superior del directorio /httpdocs.

 

Visualización de los registros de modificaciones

Si desea ver todo el historial de modificaciones de la rama actual, vaya a Sitios web y dominios > Git y haga clic en el enlace Registros de modificaciones. Se mostrará la siguiente información para cada una de las modificaciones: hora, identificador único, nombre de usuario y mensaje de modificación. Para actualizar el registro de modificaciones, haga clic en Actualizar.

Git_remote_commit_log

Asimismo, puede filtrar los registros de modificaciones por cualquier parámetro . Por ejemplo, puede localizar todas las modificaciones efectuadas por un determinado usuario a partir de una fecha concreta. Haga clic en el botón Git_Commit_Logs_search_Buttom, introduzca los parámetros de búsqueda y haga clic en Buscar.

Git_remote_commit_log_filter

 

Cambio de nombre o eliminación de un repositorio

Puede cambiar el nombre de su repositorio en cualquier momento. Por ejemplo, si ha finalizado el despliegue, puede que desee que el repositorio ya no se denomine website-dev sino website para así evitar confusiones. Vaya a Sitios web y dominios > Git, haga clic en Configuración del repositorio e indique un nombre nuevo en el campo Nombre del repositorio.

Si desea eliminar el repositorio, haga clic en el enlace Eliminar repositorio en la pantalla Git. En este caso, Plesk sólo eliminará el repositorio, dejando intacto el directorio de destino con los datos publicados.