gpt4 book ai didi

ruby - 为什么 Capistrano 在部署期间中止?

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:32 25 4
gpt4 key购买 nike

我与 Capistrano 的第一天,我是一个十足的 Ruby 菜鸟。当我运行 cap production deploy 时,我得到:(大约一半时,您会看到“cap aborted!”)

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 和过滤器的内容。

不确定这里还有哪些相关信息需要了解,所以如果我遗漏了任何内容,请告诉我。

谢谢!

最佳答案

Capistrano 3 的部署任务依赖于名为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) 告诉 capistrano 在您在 config/deploy/Production.rb 中赋予应用程序角色的服务器上执行此方法。我认为您没有为任何服务器分配此角色,因此 capistrano 提示它没有任何地方可以运行此任务。现在,您可以修改此任务以在另一个角色上运行。但是,与链接文件和目录相关的预定义任务也引用应用程序角色,因此如果您开始使用它们(例如对于database.yml),capistrano 会再次抛出此错误。因此,我认为更好的选择是为您的服务器提供应用程序角色。

关于ruby - 为什么 Capistrano 在部署期间中止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com