Utiliser l’hébergement Git distant

Regarder le tutoriel vidéo

Cette solution peut s’avérer utile si vous utilisez déjà des dépôts distants dans GitHub (github.com) ou BitBucket (bitbucket.org). Vous envoyez les modifications à ce dépôt distant, puis Plesk les en extrait et les déploie sur votre site Web.

Cloner un dépôt Git

Vous pouvez créer un dépôt Git clone d’un répertoire distant. Allez sous Sites Web & Domaines et cliquez sur Git. Si des dépôts Git ont déjà été créés pour votre domaine, cliquez sur le bouton Ajouter un dépôt. L’écran de création de dépôt apparaît.

image-76919.png

Vous devez d’abord sélectionner l’emplacement de stockage du code. Dans ce cas, sélectionnez Hébergement Git distant de type GitHub ou BitBucket.

Dépôt Git distant. Indiquez le chemin vers le dépôt distant dans BitBucket ou GitHub. Cela peut être au format HTTPS ou SSH. L’authentification HTTP/HTTPS n’est pas supportée, donc vous pouvez utiliser le protocole HTTP/HTTPS uniquement si un dépôt ne nécessite pas d’authentification. Si un dépôt Git privé est utilisé, vous devez vous authentifier avec une clé SSH générée par Plesk (pour avoir plus d’informations, consultez Utilisation de la connexion SSH).

Dans la section Votre site Web, renseignez les informations suivantes :

  • Mode de déploiement. Par défaut, il s’agit du Déploiement automatique. Cela signifie que toutes les modifications poussées vers le dépôt Git sont déployées automatiquement sur le site de production. Pour modifier le mode de déploiement, cliquez sur le lien déployé automatiquement et sélectionnez une autre option dans la fenêtre Mode de déploiement. Si Déploiement manuel est sélectionné, vous devez déployer manuellement les fichiers à partir du dépôt Git de votre hébergement. Si Aucun déploiement n’est sélectionné, les fichiers ne seront pas déployés sur le site de production, ce qui peut être utile pour le stockage et l’échange de code par exemple.

    image-76254.png

  • Répertoire cible pour la publication des fichiers Git sur votre site Web. Par défaut, il s’agit du répertoire /httpdocs. Vous pouvez le remplacer par un dépôt existant en cliquant sur son nom.

    image-76255.png

Cliquez sur OK. Plesk tente de se connecter au dépôt distant et de le cloner.

image-76455.png

Après que la boîte de dialogue d’avancement a confirmé la réussite du clonage, le nouveau dépôt est visible sur la page Git .

image-76456.png

Il apparaît sous Sites Web & Domaines > Git. Le nom du dépôt distant est utilisé comme nom du dépôt Git. Vous pouvez renommer le dépôt ultérieurement (voyez la section Renommer ou supprimer un dépôt ).

Le dépôt créé est un clone du dépôt distant et sera utilisé pour récupérer les modifications et les déployer sur le dépôt cible.

image-76920.png

Utilisation de la connexion SSH

Vous pouvez utiliser SSH pour la connexion au dépôt Git distant. Dans ce cas, lors de l’ajout d’un nouveau dépôt, indiquez l’URL du dépôt distant au format SSH. Le champ Clé publique SSH présente la clé publique SSH générée automatiquement par Plesk.

image-77959.png

Avant de cliquer sur OK sur cet écran, ajoutez la clé SSH aux paramètres du dépôt Git distant. Pour plus d’informations, consultez la documentation sur l’ajout d’une clé SSH pour GitHub et BitBucket.

Récupérer et déployer des fichiers

Après commit des fichiers de votre site Web et envoi vers le dépôt distant, allez sous Sites Web & Domaines et cliquez sur le bouton Récupérer les derniers changements en regard du nom du dépôt. Les modifications du dépôt distant seront récupérées sur le dépôt Git cloné.

Vous pouvez voir les dernières informations de commit sous Sites Web & Domaines > Git.

Par défaut, Plesk utilise le mode Déploiement automatique. Cela signifie qu’après envoi d’un fichier au répertoire, il est immédiatement déployé sur le dépôt cible. Vous pouvez désactiver ce mode si nécessaire ; voyez la section Sélection du mode de déploiement.

Par exemple, si vous avez récupéré un fichier index.html avec le texte « Bonjour ! Bienvenue sur mon site. », vous pouvez cliquer immédiatement sur l’URL pour voir les modifications.

image-76922.png

Modifier la branche ou le chemin d’accès

Déploiement à partir d’une nouvelle branche

Utiliser plusieurs branches dans un répertoire est une pratique courante. Une seule branche peut être active à la fois. Par défaut, la branche maître est utilisée pour le déploiement.

Pour ajouter une branche, vous devez la créer dans le répertoire distant, puis récupérer les modifications. Ensuite, vous pouvez sélectionner l’une des deux branches actives (ou plus) dans Plesk. Allez sous Sites Web & Domaines > Git, cliquez sur le lien Modifier la branche et le chemin d’accès, puis dans la fenêtre ouverte, sélectionnez le nom de la branche dans le menu Branche.

image-76275.png

Après que vous avez sélectionné la nouvelle branche et cliqué sur OK, Plesk affiche la nouvelle branche active.

image-76923.png

Modification du chemin de déploiement

Par défaut, le répertoire /httpdocs est utilisé pour la publication des fichiers Git sur votre site Web. Pour modifier le chemin de déploiement, allez sous Sites Web & Domaines > Git, cliquez sur le lien Modifier la branche et le chemin d’accès et dans la fenêtre ouverte, sélectionnez le nouveau dépôt.

image-76278.png

Sélectionner le mode de déploiement

Vous pouvez sélectionner le mode de déploiement de votre répertoire. Allez sous Sites Web & Domaines > Git, cliquez sur Paramètres du dépôt et sélectionnez l’une des options sous Sélectionner le mode de déploiement :

  • Déploiement automatique. Sélectionnez cette option pour que Plesk déploie immédiatement toutes les modifications sur le site de production.

  • Déploiement manuel. Dans ce cas, vous devez déployer manuellement les fichiers en cliquant sur le bouton Déployer depuis le dépôt sous Sites Web & Domaines > Git. Vous pouvez aussi déployer manuellement les fichiers en cliquant sur le bouton Déployer en regard du nom du dépôt sur la page Sites Web & Domaines.

  • Aucun déploiement (hébergement de dépôt). Dans ce cas, les fichiers ne sont pas déployés sur le site de production. Vous pouvez utiliser cette option par exemple si vous souhaitez n’utiliser le dépôt Git que pour stocker et échanger du code.

    image-76924.png

Utiliser des webhooks pour la récupération automatique

Vous pouvez utiliser des webhooks pour configurer votre dépôt distant afin de notifier Plesk quant à certains événements, par exemple, lorsque des fichiers sont poussés vers le répertoire. Pour plus d’informations, consultez la documentation sur la gestion des webhooks dans BitBucket ou GitHub.

L’URL du webhook est générée automatiquement pour chaque dépôt. Pour voir l’URL du webhook, cliquez sur Paramètres du dépôt.

image-76927.png

Copiez l’URL du webhook, ajoutez-la à votre répertoire distant et configurez-la pour être utilisée en cas de poussée de fichiers vers le répertoire. Ainsi, chaque fois qu’un fichier est poussé vers le dépôt distant, Plesk est notifié de cet événement et récupère automatiquement les fichiers sans que vous n’ayez à cliquer sur Récupérer les derniers changements. Si un déploiement automatique est configuré pour un répertoire, les fichiers récupérés sont immédiatement déployés sur le site Web.

Note

Si Plesk est protégé par un certificat auto-signé, le webhook risque de ne pas fonctionner s’il est appelé via le protocole HTTPS à cause de problèmes d’instabilité SSL/TLS. Si tel est le cas, indiquez plutôt le protocole HTTP dans l’URL du webhook.

Autoriser d’autres actions de déploiement

Bien souvent, la publication de fichiers ne suffit pas pour finaliser le déploiement d’un site Web. Par exemple, si vous utilisez un framework comme Ruby on Rails, il peut vous être nécessaire de procéder à la tâche de migration des données après déploiement avec une commande du type :  bin/rails db:migrate.

Plesk vous permet de définir plusieurs commandes supplémentaires qui seront exécutées à chaque déploiement de fichiers sur le site Web.

Allez sous Sites Web & Domaines > Git, cliquez sur Paramètres du dépôt, sélectionnez Activer des actions de déploiement supplémentaires et indiquez les commandes de shell à exécuter à chaque déploiement du contenu de ce répertoire. Chaque commande doit être saisie sur une nouvelle ligne.

image-76929.png

Note

Sous Linux, si l’accès SSH est interdit pour les utilisateurs système du domaine, toutes les commandes indiquées sont exécutées dans un environnement chrooté. Le répertoire principal de l’utilisateur système d’un abonnement est traité comme la racine du système de fichiers de cet abonnement. Aucun fichier exécutable hors de la jail chroot ne peut être exécuté. Par exemple, si le chemin vers votre site est /var/www/vhosts/exemple.com/httpdocs, alors, dans un environnement chrooté, le chemin est ./httpdocs, ainsi, vous ne pourrez pas exécuter les commandes au-delà de la limite d’un niveau au-dessus du répertoire /httpdocs.

Voir les logs de commit

Pour voir l’ensemble de l’historique de commit de la branche active, allez sous Sites Web & Domaines > Git et cliquez sur le lien Logs de commit. Les informations suivantes sont disponibles pour chaque commit : heure, identifiant unique, nom d’utilisateur et message de commit. Cliquez sur Actualiser pour mettre à jour le log du commit.

image-76930.png

Vous pouvez filtrer les logs de commit selon tout paramètre. Par exemple, vous pouvez regrouper tous les commits effectués par un certain utilisateur à partir d’une certaine date. Cliquez sur l’icône image-76269.png et entrez les paramètres de recherche, puis cliquez sur Rechercher.

image-76931.png

Renommer ou supprimer un dépôt

Vous pouvez renommer votre dépôt à tout moment. Par exemple, une fois le développement fini, vous souhaiterez peut-être appeler le dépôt siteweb-dev siteweb pour éviter toute confusion. Allez sous Sites Web & Domaines > Git, cliquez sur Paramètres du dépôt et entrez le nouveau nom dans le champ Nom du dépôt.

Pour supprimer le dépôt, cliquez sur le lien Supprimer le dépôt sous Sites Web & Domaines > Git. Dans ce cas, Plesk ne supprime que le dépôt. Le dépôt cible avec les données publiées reste intact.