9

チーム内で集中開発を行うためのリモート git リポジトリをセットアップしています。ただし、アプリケーションをデプロイする本番サーバーでは現在、git が実行されていません。capistrano を使用してアプリケーションをデプロイしたいのですが、デプロイ時にデプロイ レシピをリモートの git リポジトリから「プル」するように設定するにはどうすればよいですか?

言い換えれば、私はこのようなことをすることができますか?

set :repository, "myserver.com/git/#{application}.git"
set :scm, "git"
set :deploy_via, :copy
4

2 に答える 2

16

あなたの質問の解決策はほぼ正しいです。ただし、git リポジトリを少し異なる方法で指定する必要があります。必要なものは次のとおりです。

set :repository, "someuser@somehost:/home/myproject"
set :scm, "git"
set :deploy_via, :copy

の下に、Capistrano gem で git デプロイメントを設定する方法の例が他にもありますlib/capistrano/recipes/deploy/scm/git.rb

デプロイ戦略を使用するcopyと、Capistrano が git リポジトリを/tmpローカル マシンにクローンし、結果を tar および zip してから、sftp 経由でサーバーに転送します。コピー戦略は scp を介したコピーもサポートしていますが、ソースを少しハッキングしない限り、それを行うように指示する方法はありません。

于 2009-10-13T19:41:24.700 に答える
0

次のようなことを試しましたか

set :repository, "myserver.com/git/#{application}"
set :scm, :none
set :deploy_via, :copy

私はこれを試したことはありませんが、これはあなたが使用する必要がある一種のアプローチのようです. Capistrano RDocsのもう少しの洞察。

于 2009-09-21T19:24:12.003 に答える