Ich habe einen Server, wo ich meinen Quellcode über capistrano bereitstellen möchte. Ich kann einen Deployment-Benutzer über SSH auf diesem Server zugreifen, aber das Repo, von dem ich ziehe, ist eigentlich nur über HTTPS erreichbar. Ich bin mit Capistrano 3.5 undcapistrano 3.5 benutze git https repo
Kappe Staging Arzt
die folgenden Variablen zeigt. Es mag mehr als eine Standard-Kappe geben, aber ich denke, was sie tun, ist offensichtlich.
Variablen
:application "capistrano_deployment"
:branch "master"
:default_env {}
:deploy_prefix ""
:deploy_root "/var/www"
:deploy_to "/var/www/capistrano_deployment"
:format :airbrussh
:git_environmental_variables {:git_askpass=>"/bin/echo", :git_ssh=>"/tmp/capistrano_deployment/git-ssh.sh"}
:keep_releases 5
:local_user "myuser"
:log_level :debug
:pty true
:repo_url "https://[email protected]/git/capistrano_deployment.git"
:scm :git
:stage :staging
:target_directory "capistrano_deployment"
:tmp_dir "/tmp"
das Problem, das ich habe ist, dass die Bereitstellung fehlschlägt, weil Capistrano mich nicht nach einem Passwort fragen, dieses Repository für git, die durch https zugegriffen wird und nicht als Capistrano scheint gehe von ssh aus.
INFO [ce69c094] Running /usr/bin/env git ls-remote --heads https://[email protected]/git/capistrano_deployment.git as [email protected]…
DEBUG [ce69c094] Command: (export GIT_ASKPASS="/bin/echo" GIT_SSH="/tmp/capistrano_deployment/git-ssh.sh" ; /usr/bin/env git ls-remo…
DEBUG [ce69c094] fatal: Authentication failed for 'https://[email protected]/git/capistrano_deployment.git/'
Was für die HTTPS-URL für ein Kennwort tun muß ich darum bitten, dass Capistrano ändern - und hoffentlich nur einmal und nicht für jede git Abfrage, die von Capistrano ausgeführt wird? Auch scheint es eine Lösung zu geben, den Benutzernamen und das Passwort in .netrc in Klartext zu implementieren (keine Option!). Wollen um jeden Preis eine solche Lösung vermeiden