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.

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:

image 76919

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.

    image 76254

  • 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.

    image 76255

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

image 76455

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.

image 76456

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.

image 76920

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.

image 77959

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.

image 76922

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.

image 76275

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

image 76923

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.

image 76278

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.

    image 76924

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.

image 76927

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 HTTPS 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.

image 76929

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.

image 76930

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 image 76269, introduzca los parámetros de búsqueda y haga clic en Buscar.

image 76931

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.