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 :
1ssh root@SSH_IP -p SSH_PORT -
Créer un nouvel utilisateur :
1sudo adduser deployuser -
Configurer la connexion SSH pour le nouvel utilisateur :
1 2 3 4 5sudo 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.pubau fichier/home/deployuser/.ssh/authorized_keys:1cat ~/.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:1sudo nano /home/deployuser/.ssh/authorized_keysCollez le contenu du fichier
github-blog-deploy.pubet 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 :
1sudo 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_IPetSSH_PORTselon la situation réelle.
-
Mettre à jour le fichier de configuration de GitHub Actions :
Ajoutez le contenu du fichier comme suit :
|
|
Alipay
PayPal
WeChat Pay