如何在 capistrano 中使用 --trace 运行 rake?

发布于 2024-11-29 17:19:38 字数 106 浏览 0 评论 0原文

我希望 capistrano 使用 --trace 调用 rake,这样我就可以找出它失败的原因。我该怎么做? set :rake 'rake --trace' 不起作用。

I want capistrano to invoke rake with --trace so I can figure out why it's failing. How do I do this? set :rake 'rake --trace' doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挽手叙旧 2024-12-06 17:19:38

我发现的最好方法是:

set :rake, "#{rake} --trace"

这样您就不会覆盖 rake 变量。

例如,如果您使用bundler,则在之前设置为:

“bundle exec rake”

,在之后设置为:

“bundle exec rake --trace”

The best way I found is:

set :rake, "#{rake} --trace"

This way you don't overwrite the rake variable.

For example if you use bundler this is set before to:

"bundle exec rake"

and after to:

"bundle exec rake --trace"

短暂陪伴 2024-12-06 17:19:38

您的自定义任务很可能没有使用 rake 变量,而是使用硬编码 rake,这是一个示例:

run("rake sass:compile")

这是硬编码的,不会关心您的设置 set :rake, 'rake --trace',这是正确的方法:

run("#{fetch(:rake)} sass:compile")

或者,简写:

run("#{rake} sass:compile")

您可以在 Capistrano 源代码中实际看到这一点,在默认配方实际调用 rake< 的地方/代码>,在迁移任务中:https://github。 com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy.rb#L387

The chances are your custom tasks aren't using the rake variables, but instead hard-coding rake, here's an example:

run("rake sass:compile")

This is hard-coded, and won't care about your setting set :rake, 'rake --trace', here's the correct way:

run("#{fetch(:rake)} sass:compile")

Or, shorthand:

run("#{rake} sass:compile")

You can see this in practice in the Capistrano source code, in the one place that the default recipes actually invoke rake, in the migrations task: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy.rb#L387

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文