Quel est le but et la fonction des «rôles» dans une recette de Capistrano? Quand je regarde des exemples de recettes, je vois souvent quelque chose comme ceci:
role :app, 'somedomain.com'
role :web, 'somedomain.com'
role :db, 'somedomain.com', :primary => true
Il semble donc qu'un rôle soit essentiellement un serveur sur lequel Capistrano exécute des commandes. Si tel est le cas, pourquoi serait-il appelé un «rôle» plutôt qu'un «hôte» ou un «serveur»?
Dans l'exemple ci-dessus, quelle est la différence entre les rôles :app
et :web
?
Que fait cette :primary => true
option?
la source
:only => { :primary => true }
je pense ... ou larole
commande dans la question devrait utiliser à la:master => true
place. Je pense que ces attributs sont entièrement de forme libre.L'option ": primary => true" indique que le serveur de base de données est le serveur principal. Ceci est important lorsque vous souhaitez utiliser la réplication avec MySQL, par exemple. Il vous permet de créer un autre serveur de base de données en miroir qui peut être utilisé pour le basculement automatique. Il est également utilisé pour décider sur quel serveur de base de données les migrations de modèles doivent être exécutées (car ces modifications seront répliquées sur les serveurs de basculement). Ce lien clarifie un peu plus les choses: https://github.com/capistrano/capistrano/wiki/2.x-from-the-beginning#back-to-configuration
la source