Ressources Hosteur

Explorons ensemble les technologies de demain

  1. Accueil
  2.  > 
  3. HWS
  4.  > 
  5. Ressources
  6.  > 
  7. Rubrique Aide Hosteur


   Votre espace client
   Gestion des services
   FAQ
Sommaire FAQ
   FAQ FlexOne
   Hosteur Emailing
TRANSACTIONNEL Comment personnaliser vos emails en utilisant des attributs de contacts Conditions d’affichage dans l’éditeur Drag & Drop Langage de template utilisé dans HOSTEUR Emailing
   Hosteur Ragnarokkr
Menu Ragnarokkr 7. SSH RAGNARØKKR Marketplace
7.7. Capistrano

Capistrano

 

Capistrano est un outil open-source permettant d'exécuter des scripts sur les serveurs distants. Le plus souvent, il est utilisé pour déployer des applications via une connexion SSH. Capistrano est écrit en Ruby comme un composant du framework Ruby on Rails, il est donc largement utilisé pour le déploiement d'applications Ruby. Néanmoins, il peut facilement fonctionner avec d'autres langages de programmation, par exemple PHP.

 

Ainsi, dans cette instruction, nous découvrirons comment déployer une application PHP à distance, via l'outil Capistrano. Dans un premier temps, vous aurez besoin :

  • D'un environnement PHP déjà créé avec le serveur d'application Apache ;
  • D'une clé publique SSH générée et ajoutée à votre tableau de bord RAGNARØKKR ;
  • D'un dépôt GIT avec l'application PHP que vous souhaitez déployer (pour l'instant, l'outil Capistrano 3 ne prend en charge que le type GIT VCS) ;
  • D'une copie locale de ce projet sur votre ordinateur.

 

Note : toutes les commandes ci-dessous doivent être exécutées chez l'utilisateur de votre machine locale, comme celle que vous avez utilisée lors de la génération de la paire de clés SSH, afin d'éviter les erreurs de permission/connexion.

 

 

Installer Capistrano

1. Pour utiliser Capistrano, vous devez avoir installé Ruby sur votre ordinateur local. Par conséquent, exécutez la commande appropriée :

 

2. Ensuite, installez l'outil Capistrano en entrant la commande suivante :

 

3. Assurez-vous d'avoir le dossier config dans le répertoire local avec votre projet (car il s'agit d'un dossier par défaut avec les configurations pour Ruby on Rails). Créez ce dossier si vous ne l'avez pas.

 

 

Capifier votre application

Après l'installation, vous devez capifier votre application, c'est-à-dire configurer Capistrano pour le déploiement de l'application. Pour ce faire, naviguez jusqu'au dossier racine de votre projet PHP local et exécutez la commande suivante :

 

Cela permettra de créer de nouveaux fichiers et répertoires dans votre projet :

  • Capfile : fichier Capistrano principal qui prend en charge les configurations et les globs nécessaires pour les tâches personnalisées
  • config/deploy/ : avec deux fichiers (production.rb  et staging.rb) pour les paramètres de déploiement spécifiques à un environnement
  • config/deploy.rb : script Ruby qui contient les configurations des applications et les instructions Capistrano
  • lib/capistrano/tasks/ : dossier pour vos tâches personnalisées

 

On aura donc la structure suivante :

 

 

 

Définir des configurations personnalisées

1. Naviguez jusqu'au fichier config/deploy.rb et configurez-le en fonction de vos paramètres. Au départ, il ressemble à ce qui suit :

 

Modifiez les chaînes suivantes :

  • Entrez un nom pour votre application :

 

  • Indiquez l'URL du dépôt du VCS avec votre code d'application PHP :

 

Note : vous devez avoir une clé publique SSH attachée à votre compte GIT (la même que celle que vous avez ajoutée au tableau de bord RAGNARØKKR). Sinon, vous obtiendrez l’erreur « Permission refusée » lorsque vous essayerez de déployer votre application.

Vous pouvez également utiliser le lien https: du type suivant :

Dans ce cas, l'authentification n'est pas nécessaire et vous pouvez indiquer une URL vers n'importe quel référentiel PHP open-source que vous souhaitez déployer.

 

  • Décommentez la ligne suivante et indiquez le répertoire dans lequel votre application sera déployée (cette valeur est celle par défaut pour les serveurs d'applications PHP de RAGNARØKKR) :

 

  • Décommentez les lignes suivantes :

 

  • Supprimez les chaînes avec le code tasks à la fin du fichier (à partir de la commande namespace : deploy do) et coller les lignes suivantes à la place :

 

Vous pouvez également configurer des paramètres supplémentaires dans ce fichier (par exemple, spécifier une branche de dépôt ou lier des fichiers/dossiers supplémentaires) si cela est nécessaire.

 

Enregistrez les modifications que vous avez apportées.

 

2. Ensuite, naviguez vers le fichier config/deploy/staging.rb. Le contenu par défaut est :

 

Tout d'abord, modifiez trois rôles : les chaînes dans la section Simple Role Syntax en collant {nodeid-uid@gate.app.rag-control.hosteur.com} à la place de {deploy@example.com}. Utilisez les valeurs suivantes :

  • nodeid : valeur de l'ID nœud du conteneur du serveur d'application Apache dans votre environnement ;
  • uid : nombre avant le symbole @ dans votre chaîne de connexion SSH.

 

Dans la section Extended Server Syntax, modifiez la ligne des paramètres du serveur :

  • Remplacez ‘example.com’ par votre hôte SSH (‘gate.app.rag-control.hosteur.com’)
  • Entrez la valeur ‘{nodeid}-{uid}’ pour le paramètre utilisateur, par exemple ‘1417-185’

Ainsi, la ligne des paramètres de votre serveur ressemblera à ce qui suit :

server 'gate.app.rag-control.hosteur.com’, user: ‘1417-185’, roles: %w{web app}, my_property: :my_value

 

Enfin, indiquez le port du serveur qui sera utilisé pour la connexion SSH :

N'oubliez pas de sauvegarder ces configurations personnalisées.

 

 

3. Ouvrez le fichier Capfile (situé dans le dossier racine de votre projet local) et ajoutez-y la ligne suivante :

 

 

Configurer l'agent SSH

1. Assurez-vous que votre ssh-agent est opérationnel dans votre système.

 

2. Ajoutez votre clé SSH privée à l'agent. Elle doit correspondre à la clé publique que vous avez ajoutée au tableau de bord.

 

3. Vous pouvez également vérifier si la bonne clé a été ajoutée en entrant la commande ssh-add -l.

 

 

Vérifier les configurations

Maintenant, assurons-nous que tout a été configuré correctement.

Naviguez jusqu'au dossier racine de votre projet local et exécutez la commande ci-dessous :

 

Capistrano se connectera au conteneur distant, créera les dossiers requis dans le répertoire de déploiement (indiqué dans le paramètre set :deploy_to), et vérifiera sur les serveurs locaux et distants la présence de tous les fichiers nécessaires, les droits requis, les outils, etc.

S’il manque quelque chose, vous recevrez un message d'erreur correspondant.

 

 

Déployer l'application

Enfin, procédez au déploiement de l'application. Pour ce faire, exécutez la commande ci-dessous dans le dossier racine du projet :

 

Lorsque cette opération est terminée avec succès, naviguez jusqu'à l'URL de votre environnement et assurez-vous que votre application a été déployée.

10% de réduction sur votre prochaine commande(1)
Inscrivez-vous à notre NEWSLETTER pour recevoir votre code de réduction
(1) Valable uniquement pour toutes nouvelles commandes, hors achat de crédit hosteur et hors renouvellement de prestation. (Commande de produits matériels non inclus)