Comment puis-je indiquer le nom d'utilisateur et le mot de passe GIT dans Deploy.rb de Capistrano?
-
14-11-2019 - |
Question
J'utilise github pour stocker le référentiel, et je lis Déployer avec Capistrano:
La mise en cache distante gardera un dépôt GIT local sur le serveur sur lequel vous vous déployez et exécutera simplement une récupération de cela plutôt qu'un clone entier ".
Puisque le serveur où je déploie est "mon" hôte partagé, Je dois avoir l'installation de git là-bas.
Lorsque nous faisons cela, nous définissons normalement un nom d'utilisateur GIT et un mot de passe git. Où devrions-nous les placer sur ce fichier Deploy.rb?
Jusqu'à présent, j'ai:
set :application, "mysite.dev"
set :user, "myuser"
set :repository, "git@github.com:gituser/gitproject.git"
role :web, "dev.mysite.pt"
set :deploy_to, "/home/mysite/www/dev"
set :use_sudo, false
set :scm, :git
set :branch, 'master'
#set :deploy_via, :copy
#set :copy_cache, true
#set :copy_exclude, %w(.git)
set :deploy_via, :remote_cache
task :create_symlinks, :roles => :web do
run "rm #{current_release}/public/.htaccess"
run "ln -s #{current_release}/production/.htaccess
#{current_release}/public/.htaccess"
end
after "deploy:finalize_update", :create_symlinks
Ne devrions-nous pas placer, quelque part, les références à mon mot de passe hôte partagé GIT sur le fichier Deploy.rb d'une manière ou d'une autre?
J'ai l'utilisateur du serveur de déploiement:
set :user, "myuser"
Ce mot de passe est-il celui de l'utilisateur de GitHub, ou devrions-nous ici mettre notre mot de passe hôte partagé?
set :scm_passphrase, "p@ssw0rd" # The deploy user's password
La solution
Pour utiliser vos clés locales (à partir de la machine de développement), ajoutez ceci au début du script:
ssh_options[:forward_agent] = true
La set :user, 'myuser'
est le nom d'utilisateur de la boîte Linux à laquelle vous vous connectez.