2010-11-26 6 views
1

デプロイメントが完了したらリモートのいくつかのフォルダを削除したい。私は現在、本当にCapistrano:リモートでデプロイした後でコマンドを条件付きで実行する

task :set_permissions do 

    parallel do |session| 
    session.when "in?(:xb_test)", "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess" 
    end 

二つの質問を使用しています、これは、これを行うための最善の方法であるとどのように私はリピートコードを記述することなく、複数の機能上の文のこの種を実行できますか?

session.when "in?(:xb_test)" ... 
session.when "in?(:xb_dev)" ... 
session.when "in?(:xb_live)" ... 

私はあなたの最初の質問についてカピストラーノ

答えて

1
  • にかなり新たなんだと任意の助けをいただければ幸いです、「これは、これを行うための最善の方法です?」 :

    私はこれが最良のアプローチだとは思わない。どのように私は、ステートメントのこの種を実行することができます 「テスト」「DEV」と「生きる」とは、あなたが、その後、私はもっと自分の2番目の質問についてhttps://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension

  • を使用し、異なる段階に展開しているようオム...それが見えます」リピートコードを記述することなく、複数の機能に「:?

    カピストラーノのdeploy.rbがちょうどルビーファイルでは、メソッドを使用することができます

 
    def htaccess_stuff 
     "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess" 
    end 

、その後

 
task :set_permissions do 

    parallel do |session| 
    session.when "in?(:xb_test)", htaccess_stuff 
    end 

+0

大変ありがとうございます。私は多段階の拡張を見てみましょう。 – igniteflow

関連する問題