Capistrano目前的应用路径
Capistrano current application path
在使用 Capistrano 3 进行部署时,我需要从任务中获取当前的本地应用程序路径,Capistrano 是否提供包含此信息的任何静态变量?
使用当前工作目录解决Dir.pwd
我最近遇到了一个类似的问题,当时我正在使用 Capistrano 下载一个远程文件,并想将它放置在我的开发机器上的相对于任务文件的位置。我的 rake 任务看起来像这样:
# lib/capistrano/tasks/awesome_tasks.rake
namespace :awesome_tasks do
task :do_something_awesome do
# Set path to local folder containing the task
path = Pathname.new(File.join(__dir__)) # => "parent_folders/app_root/lib/capistrano/tasks"
# Do something with path...
end
end
如果您需要应用程序根目录的路径,您可以这样做:
# lib/capistrano/tasks/awesome_tasks.rake
namespace :awesome_tasks do
task :do_something_awesome do
# Set path to the root of the application.
# Use #realpath to exclude the extra dots (optional)
path = Pathname.new(File.join(__dir__, '../../..')).realpath # => "parent_folders/app_root"
# Do something with path...
end
end
在使用 Capistrano 3 进行部署时,我需要从任务中获取当前的本地应用程序路径,Capistrano 是否提供包含此信息的任何静态变量?
使用当前工作目录解决Dir.pwd
我最近遇到了一个类似的问题,当时我正在使用 Capistrano 下载一个远程文件,并想将它放置在我的开发机器上的相对于任务文件的位置。我的 rake 任务看起来像这样:
# lib/capistrano/tasks/awesome_tasks.rake
namespace :awesome_tasks do
task :do_something_awesome do
# Set path to local folder containing the task
path = Pathname.new(File.join(__dir__)) # => "parent_folders/app_root/lib/capistrano/tasks"
# Do something with path...
end
end
如果您需要应用程序根目录的路径,您可以这样做:
# lib/capistrano/tasks/awesome_tasks.rake
namespace :awesome_tasks do
task :do_something_awesome do
# Set path to the root of the application.
# Use #realpath to exclude the extra dots (optional)
path = Pathname.new(File.join(__dir__, '../../..')).realpath # => "parent_folders/app_root"
# Do something with path...
end
end