我想用rake将一个.net网站部署到一个Windows服务器......在这方面有点新意,并且遇到了非常简单的事情...
如何将目录从本地文件夹复制到其他Windows服务器?
目前我有:
task :default => :CWS_Web_application
desc 'Depoly CWS Web application to preview environment'
task :CWS_Web_application do
sh "echo Depoly CWS Web application to preview environment"
mv('MyDirectory', '//servername/c$/foldername', :verbose => true)
end
这显然不起作用 - 我认为问题是服务器路径:'// servername / c $ / foldername'
有人能指出我正确的方向吗?
答案 0 :(得分:4)
这是与windows混合的ruby,有多种方法可以做到这一点,但这就是我通过管道填充到cmd.exe所做的事情:
sh "del /q /f /s \\\\servername\\c$\\foldername\\subfoldername\\*.*"
sh "XCOPY .\\source_directory \\\\servername\\c$\\foldername\\subfoldername /E /Exclude:xcopy_excludes.txt"
sh "COPY .\\config\\website\\servername\\#{BUILD_CONFIGURATION}\\web.config \\\\servername\\c$\\foldername\\subfoldername"
您还可以执行以下操作:
sh "net use O: \\\\servername\\c$\\foldername\\subfoldername"
sh "copy *.* O:"
sh "net use O: /delete"
如果这是首选,可能允许您输入用户名和密码(如果需要)。运行rake脚本的帐户显然需要域/目录等的适当权限。
可能还有其他方法可以绕过这些,但我只是选择了第一件对我有用的方法。