に$ USERを渡さない、1のようなログインユーザ名が含まれるようにレポURLを設定できますカピストラーノ3はカピストラーノ2では、リモートのssh
set :repo_url, "git+ssh://#{ENV['LOGNAME']}@myrepo.example.com/path/name"
これを行う目的は、$ LOGNAMEはレポにアクセスするということです アカウントを使用して、通常の権限を取得します。デプロイメントサーバーのログインは$ {LOGNAME}ではありません。これは問題ありません。
capistrano 3でこれを行うことはできますが、元のユーザーXは../repo/.git/configに入力されますが、ユーザーYはログインできないため次のユーザーには失敗しますmyrepo.example.comをXとしました。 これはCapistrano 2で新鮮なgit repoが毎回チェックされていたために働いていました。 cap3の方がはるかに効率的ですが、私は何をすべきかについて迷っています。 /tmp/git-ssh-deploy-staging-user.shスクリプトで-lユーザー がsshコマンドラインに追加された場合、すべて正常ですが、追加するものは何も表示されません。
私は、リポジトリサーバーに "デプロイ"ユーザーを作成し、そのリポジトリに読み取り専用のアクセス権を付与することに頼っていましたが、スケーラブルなソリューションとしてこれについて大いに熱心ではありません。 ADMINはデポの人々に自分のことをさせるのではなく、レポでねじ留めする。
私は提案をお探しですか?たぶんそれはコードの中だけで、私はまだオプションを見つけられていません。