1

カピストラーノとの初日、私はまったくの Ruby 初心者です。実行すると、次のようcap production deployになります: (途中で「キャップが中止されました!」と表示されます)

DEBUG Uploading /tmp/git-ssh.sh 0.0%
 INFO Uploading /tmp/git-ssh.sh 100.0%
 INFO [a4358a68] Running /usr/bin/env chmod +x /tmp/git-ssh.sh on 205.149.129.67
DEBUG [a4358a68] Command: /usr/bin/env chmod +x /tmp/git-ssh.sh
 INFO [a4358a68] Finished in 0.094 seconds command successful.
 INFO [7e2d6b30] Running /usr/bin/env git ls-remote git@github.com:johnnyfreeman/ng-phrases-node.git on 205.149.129.67
DEBUG [7e2d6b30] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/git-ssh.sh /usr/bin/env git ls-remote git@github.com:johnnyfreeman/ng-phrases-node.git )
DEBUG [7e2d6b30]    870ca21b256ec53ffba50da1d8ecf7cb4c36e561
DEBUG [7e2d6b30]        
DEBUG [7e2d6b30]    HEAD
DEBUG [7e2d6b30]    
DEBUG [7e2d6b30]    870ca21b256ec53ffba50da1d8ecf7cb4c36e561
DEBUG [7e2d6b30]        
DEBUG [7e2d6b30]    refs/heads/master
DEBUG [7e2d6b30]    
 INFO [7e2d6b30] Finished in 2.289 seconds command successful.
 INFO [982c4c8c] Running /usr/bin/env mkdir -pv /home/deploy/ng-phrases-node/shared /home/deploy/ng-phrases-node/releases on 205.149.129.67
DEBUG [982c4c8c] Command: /usr/bin/env mkdir -pv /home/deploy/ng-phrases-node/shared /home/deploy/ng-phrases-node/releases
 INFO [982c4c8c] Finished in 1.084 seconds command successful.
DEBUG [b52bf507] Running /usr/bin/env [ -f /home/deploy/ng-phrases-node/repo/HEAD ] on 205.149.129.67
DEBUG [b52bf507] Command: [ -f /home/deploy/ng-phrases-node/repo/HEAD ]
DEBUG [b52bf507] Finished in 1.151 seconds command successful.
 INFO The repository mirror is at /home/deploy/ng-phrases-node/repo
DEBUG [5a6d473a] Running /usr/bin/env if test ! -d /home/deploy/ng-phrases-node/repo; then echo "Directory does not exist '/home/deploy/ng-phrases-node/repo'" 1>&2; false; fi on 205.149.129.67
DEBUG [5a6d473a] Command: if test ! -d /home/deploy/ng-phrases-node/repo; then echo "Directory does not exist '/home/deploy/ng-phrases-node/repo'" 1>&2; false; fi
DEBUG [5a6d473a] Finished in 1.022 seconds command successful.
 INFO [ebde0a3b] Running /usr/bin/env git remote update on 205.149.129.67
DEBUG [ebde0a3b] Command: cd /home/deploy/ng-phrases-node/repo && /usr/bin/env git remote update
DEBUG [ebde0a3b]    Fetching origin
DEBUG [ebde0a3b]    
 INFO [ebde0a3b] Finished in 1.485 seconds command successful.
DEBUG [42faf760] Running /usr/bin/env if test ! -d /home/deploy/ng-phrases-node/repo; then echo "Directory does not exist '/home/deploy/ng-phrases-node/repo'" 1>&2; false; fi on 205.149.129.67
DEBUG [42faf760] Command: if test ! -d /home/deploy/ng-phrases-node/repo; then echo "Directory does not exist '/home/deploy/ng-phrases-node/repo'" 1>&2; false; fi
DEBUG [42faf760] Finished in 1.195 seconds command successful.
 INFO [7c34b6a2] Running /usr/bin/env git clone --branch master --depth 1 --recursive --no-hardlinks /home/deploy/ng-phrases-node/repo /home/deploy/ng-phrases-node/releases/20130807190743 on 205.149.129.67
DEBUG [7c34b6a2] Command: cd /home/deploy/ng-phrases-node/repo && ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/git-ssh.sh /usr/bin/env git clone --branch master --depth 1 --recursive --no-hardlinks /home/deploy/ng-phrases-node/repo /home/deploy/ng-phrases-node/releases/20130807190743 )
DEBUG [7c34b6a2]    warning: --depth is ignored in local clones; use file:// instead.
DEBUG [7c34b6a2]    
DEBUG [7c34b6a2]    Cloning into '/home/deploy/ng-phrases-node/releases/20130807190743'...
DEBUG [7c34b6a2]    
DEBUG [7c34b6a2]    done.
DEBUG [7c34b6a2]    
 INFO [7c34b6a2] Finished in 0.259 seconds command successful.
 INFO [e945e1c7] Running /usr/bin/env rm -rf /home/deploy/ng-phrases-node/current on 205.149.129.67
DEBUG [e945e1c7] Command: /usr/bin/env rm -rf /home/deploy/ng-phrases-node/current
 INFO [e945e1c7] Finished in 1.062 seconds command successful.
 INFO [51d6629e] Running /usr/bin/env ln -s /home/deploy/ng-phrases-node/releases/20130807190743 /home/deploy/ng-phrases-node/current on 205.149.129.67
DEBUG [51d6629e] Command: /usr/bin/env ln -s /home/deploy/ng-phrases-node/releases/20130807190743 /home/deploy/ng-phrases-node/current
 INFO [51d6629e] Finished in 0.074 seconds command successful.
cap aborted!
Your filter `(no filter)` would remove all matching servers
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/configuration/servers.rb:73:in `filtered_servers'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/configuration/servers.rb:53:in `filter'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/configuration/servers.rb:48:in `fetch_roles'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/configuration/servers.rb:17:in `roles_for'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/configuration.rb:41:in `roles_for'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/dsl/env.rb:39:in `roles'
/home/johnny/Projects/ng-phrases-node/Capfile:30:in `block (2 levels) in <top (required)>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/dsl.rb:14:in `invoke'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/tasks/deploy.rake:18:in `block (2 levels) in <top (required)>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/dsl.rb:14:in `invoke'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/tasks/framework.rake:66:in `block (2 levels) in <top (required)>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/tasks/framework.rake:65:in `each'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/tasks/framework.rake:65:in `block in <top (required)>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/lib/capistrano/application.rb:12:in `run'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-3.0.0.pre14/bin/cap:3:in `<top (required)>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/bin/cap:23:in `load'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/bin/cap:23:in `<main>'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval'
/home/johnny/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => deploy:restart
(See full trace by running task with --trace)

ここで何が問題なのか本当にわかりません.Capistranoとフィルターに関するドキュメントには何も表示されません.

ここで知っておくべき情報が他にあるかわからないので、抜けている情報があれば教えてください。

ありがとう!

4

1 に答える 1

0

Capistrano 3 のデプロイ タスクは、deploy:restart という名前のタスクに依存します。デフォルトのデプロイ フローの他のタスクとは異なり、deploy:restart の動作はあらかじめ定義されていません。使用するアプリケーション サーバーに応じてカスタマイズする必要があります。実行cap installすると、次のような Capfile で編集するためのスケルトン タスクが作成されます。

desc 'Restart application'
task :restart do
  on roles(:app), in: :sequence, wait: 5 do
    # Your restart mechanism here, for example:
    # execute :touch, release_path.join('tmp/restart.txt')
  end
end

on roles(:app)config/deploy/production.rbでアプリの役割を与えたサーバーでこのメソッドを実行するようカピストラーノに指示します。サーバーにこの役割を割り当てていないと思うので、カピストラーノはこのタスクを実行する場所がないと不平を言っています。ここで、このタスクを変更して、別のロールで実行することができます。ただし、リンクされたファイルとディレクトリに関連する事前定義されたタスクも app ロールを参照するため、それらの使用を開始すると (たとえば、database.yml に対して) capistrano はこのエラーを再度スローします。したがって、サーバーにアプリの役割を与えることをお勧めします。

于 2013-08-29T23:47:52.957 に答える