gpt4 book ai didi

ruby-on-rails - 从 capistrano 任务中调用多级 capistrano 任务

转载 作者:行者123 更新时间:2023-12-05 00:06:19 27 4
gpt4 key购买 nike

我有一个 capistrano 任务,它整合了 Rails 项目的多个阶段的部署。

例如:

task :consolidated_task do
build #creates a new release branch from master,
#sets a variable with the relese branch name

staging
deploy.migrations

production
deploy.migrations
end

这是从另一个上限任务调用多阶段任务的正确方法吗?

构建任务创建一个新的 git 分支并发布它。新分支的名称被保存为 capistrano 变量。临时和生产阶段任务然后使用此变量来指定从哪个分支进行部署。

当这个任务运行时,它失败了:
fatal: working tree '/Users/<my working directory>' already exists.
/usr/local/lib/ruby/gems/1.8/gems/capistrano-2.5.19/lib/capistrano/recipes/deploy/strategy/copy.rb:99:in `initialize': No such file or directory - /var/folders/3d/3dKYNUwQGOSLZFXsMF-uv++++TM/-Tmp-/20100802182750/REVISION (Errno::ENOENT)

我正在从本地机器推送源代码,因为 git 存储库和部署机器无法相互通信。

最佳答案

任务名称如

deploy:production:whatever

在 Cap 中暴露为
deploy.production.whatever

您还有 top namespaces 到命名空间的顶部,因为路径是相对的。

因此,无论您的任务当前位于哪个命名空间,您都可以执行以下操作:
top.deploy.production.whatever

关于ruby-on-rails - 从 capistrano 任务中调用多级 capistrano 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3390895/

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