今天我在我的rake腳本中看到了一件奇怪的事情。我在不同的命名空間兩次耙的任務,如下列:命名空間下的Rake任務變量
path = "/home/tomcat/tomcat"
namespace :stage do
path = "/home/tomcat/stage-tomcat"
desc "Deploys a java application to stage tomcat"
task :java_deploy do
puts path # stage:java_deploy should print /home/tomcat/stage-tomcat
end
end
namespace :production do
path = "/home/tomcat/production-tomcat"
desc "Deploys a java application to production tomcat"
task :java_deploy do
puts path # production:java_deploy should print /home/tomcat/production-tomcat
end
end
當我運行:rake stage:java_deploy
它打印
/家庭/ tomcat的/生產tomcat的
我期待/home/tomcat/stage-tomcat。如果我從rake文件中刪除第一行path = "/home/tomcat/tomcat"
,它會按預期工作。
任何想法爲什麼這kolavari? :)
在此先感謝!
如果你將這兩個命名空間定位在不同的文件中,該怎麼辦? –
爲我這兩個任務打印...'/家/ tomcat/production-tomcat' .. –
@StanislavMekhonoshin,將工作。即使刪除第一行,它將解決我單個rake文件的問題。但我想了解這裏的流程。 –