Грабли на windows - скопировать каталог на другой сервер - PullRequest
2 голосов
/ 07 июля 2010

Я хочу использовать 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

Это, очевидно, не работает - я считаю, что проблема заключается в пути к серверу: '// имя_сервера / c $ / foldername'

Кто-нибудь может указать мне правильное направление?

1 Ответ

4 голосов
/ 08 июля 2010

Это рубин, смешанный с окнами, будет несколько способов сделать это, но вот что я сделал, отправив материал в 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, очевидно, потребуются соответствующие разрешения для домена / каталогов и т. Д. И т. Д.

Возможно, есть другие способы избежать выхода из них, но я просто выбрал первое, что сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...