Utiliser GitHub Actions Pour Déployer Automatiquement Un Blog Hugo Sur Un Serveur Distant
Une fois que tout le contenu du blog Hugo est prêt, vous pouvez déployer le blog sur un serveur distant. Cet article explique comment utiliser GitHub Actions pour automatiser le déploiement d’un blog Hugo sur un serveur distant.
Pour des raisons de sécurité, il n’est pas recommandé d’utiliser un mot de passe pour se connecter à un serveur distant. Au lieu de cela, vous pouvez utiliser des clés SSH. Créez un nouvel utilisateur sur le serveur distant, générez une clé SSH pour cet utilisateur, et configurez GitHub Actions pour utiliser cette clé pour se connecter au serveur distant et déployer le blog Hugo.
Générer une paire de clés SSH localement
La paire de clés SSH générée localement est utilisée pour que le nouvel utilisateur se connecte au serveur distant. Pour générer une paire de clés SSH localement :
|
|
Suivez les instructions, définissez le chemin de sauvegarde du fichier (définissez-le sur ~/.ssh/github-blog-deploy
) et la phrase secrète (qui peut être vide).
Les fichiers générés incluent :
- Fichier de clé publique :
github-blog-deploy.pub
- Fichier de clé privée :
github-blog-deploy
Configurer la clé publique SSH du nouvel utilisateur sur le serveur distant
-
Connectez-vous au serveur distant :
1
ssh root@SSH_IP -p SSH_PORT
-
Créer un nouvel utilisateur :
1
sudo adduser deployuser
-
Configurer la connexion SSH pour le nouvel utilisateur :
1 2 3 4 5
sudo mkdir /home/deployuser/.ssh sudo chmod 700 /home/deployuser/.ssh sudo touch /home/deployuser/.ssh/authorized_keys sudo chmod 600 /home/deployuser/.ssh/authorized_keys sudo chown -R deployuser:deployuser /home/deployuser/.ssh
-
Copier la clé publique générée localement sur le serveur distant :
Ajoutez le contenu du fichier
github-blog-deploy.pub
au fichier/home/deployuser/.ssh/authorized_keys
:1
cat ~/.ssh/github-blog-deploy.pub | ssh root@SSH_IP -p SSH_PORT 'cat >> /home/deployuser/.ssh/authorized_keys'
Ou copiez manuellement le contenu de la clé publique et collez-le dans le fichier
authorized_keys
:1
sudo nano /home/deployuser/.ssh/authorized_keys
Collez le contenu du fichier
github-blog-deploy.pub
et sauvegardez. -
Définir les permissions du répertoire pour le nouvel utilisateur : Créez le répertoire de déploiement du site et définissez les permissions :
1
sudo chown -R deployuser:deployuser /var/www/public
Mettre à jour le fichier de configuration de GitHub Actions
-
Ajouter la clé privée aux Secrets de GitHub :
- Connectez-vous à GitHub, accédez au dépôt contenant le blog Hugo.
- Cliquez successivement sur
Settings
->Secrets and variables
->Actions
->New repository secret
. - Ajoutez un nouveau Secret,
SSH_PRIVATE_KEY
, avec pour valeur le contenu du fichiergithub-blog-deploy
(clé privée). Ajoutez également les SecretsSSH_PRIVATE_KEY
,SSH_IP
etSSH_PORT
selon la situation réelle.
-
Mettre à jour le fichier de configuration de GitHub Actions :
Ajoutez le contenu du fichier comme suit :
|
|