Chr*_*mbo 3 ruby rake ruby-on-rails vlad-deployer
我开始使用vlad进行新部署,并且想知道设置它的最佳方式是什么,以便我可以为本地开发和远程生产服务器使用相同的任务?
我想将所有东西定义为远程任务,然后使用dev/prod方法设置域变量,然后我可以调用rake dev/prod vlad:do_something,但这只是完全错误.
我的许多任务对于在我的本地服务器和生产服务器上运行很有用,我希望通过为本地服务器设置一个"任务"并为远程服务器设置一个"remote_task"来避免重复自己.例如
def do_something
run "echo something"
end
task :do_something_dev
do_something
end
remote_task do_something_prod
do_something
end
Run Code Online (Sandbox Code Playgroud)
我错过了什么或者这些是在本地和远程计算机上使用相同rake任务的唯一选项吗?
这个怎么样:
[:development, :test, :production].each do |environment|
namespace environment do
task :do_something do
echo "do something on #{environment}"
end
end
end
Run Code Online (Sandbox Code Playgroud)
这会给你:
rake vlad:development:do_somethingrake vlad:test:do_somethingrake vlad:production:do_something只用一种方法就可能不那么冗长了.但只要有2或3种方法,就可以忽略开销.