Python: Configurer les clés SSH

Cette documentation fait partie du guide Déployer avec GitHub Actions. Consultez le guide complet ici : Comment déployer votre code Python avec GitHub Actions.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Python cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et profitez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Bénéficiez de sauvegardes automatiques, de mises à jour en un clic, ainsi que d'une tarification simple, transparente et prévisible.
  • Profitez d'une performance optimale et d'une sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution d'hébergement Python cloud de Stackhero !

Les clés SSH permettent à GitHub Actions de se connecter de façon sécurisée à votre service Python pour déployer le code. Cette étape est essentielle pour protéger vos services Stackhero.

Sur votre ordinateur, vous pouvez générer de nouvelles clés SSH en exécutant :

ssh-keygen -C "" -f /tmp/ssh_key -N ""

Commencez par afficher la clé publique que vous venez de générer :

cat /tmp/ssh_key.pub

Ensuite, dans votre tableau de bord Stackhero, sélectionnez votre service Python "production" et cliquez sur le bouton "Configurer".

Accéder aux paramètres du serviceAccéder aux paramètres du service

Suivez ces étapes :

  1. Sous Clés publiques SSH, cliquez sur Ajouter une clé publique.
  2. Pour Description, saisissez GitHub Action.
  3. Pour Clé, collez la clé publique que vous venez de copier.

Ajouter une clé publiqueAjouter une clé publique

Rendez-vous sur la page de votre projet GitHub, cliquez sur Settings, puis sur Environments. Choisissez New environment.

Configuration des environnements GitHubConfiguration des environnements GitHub

Dans le champ Name, saisissez "production" et validez.

Définir l'environnementDéfinir l'environnement

Cliquez sur le bouton No restriction et sélectionnez Selected branches and tags.

Définir les restrictions d'environnementDéfinir les restrictions d'environnement

Ensuite, cliquez sur Add deployment branch or tag rule, saisissez "production" dans le champ Name pattern, puis cliquez sur Add rule.

Définir la branche de l'environnementDéfinir la branche de l'environnement Définir la branche de l'environnementDéfinir la branche de l'environnement

Dans la section Environment secrets, cliquez sur Add secret.

Ajouter un secretAjouter un secret

Affichez maintenant la clé privée que vous avez générée précédemment :

cat /tmp/ssh_key

Lors de la création du secret, utilisez STACKHERO_SSH_PRIVATE_KEY comme nom et collez la clé privée dans la valeur.

Définir le secret de la clé privée SSHDéfinir le secret de la clé privée SSH

Ensuite, dans la section Environment variables, cliquez sur Add variable.

Définir les variablesDéfinir les variables

Saisissez STACKHERO_ENDPOINT comme nom et collez l'endpoint de votre service Python comme valeur. Vous trouverez cet endpoint dans votre tableau de bord Stackhero.

Définir la variable endpointDéfinir la variable endpoint

Si vous avez personnalisé le nom de domaine de votre service, utilisez la version personnalisée à la place de <XXXXXX>.stackhero-network.com.

Pour des raisons de sécurité, il est conseillé de supprimer les clés SSH de votre ordinateur maintenant, car vous n'en aurez plus besoin :

rm /tmp/ssh_key /tmp/ssh_key.pub