2009-11-26 4 views
2

Для того, чтобы улучшить процесс/сборки развертывания моего приложения ASP.NET, я хотел бы сделать .bat чтоXCOPY на удаленный сервер

  • строит текущее решение в режиме выпуска
  • xcopy файлы к удаленному серверу

Создание сборки релиза через командную строку очень просто.

Но как я могу скопировать файлы на удаленный сервер?

Я думаю, что мне нужно сопоставить удаленный пункт назначения с сетевым диском (?). Однако я не мог подключиться к удаленному серверу, хотя я включил общий доступ к файлам для папки на сервере. Может быть, брандмауэр блокирует запрос? Какой порт мне открыть? Или есть другое решение?

EDIT

Спасибо за все ответы до сих пор, но я, вероятно, нужно сделать шаг за шагом руководство о том, как настроить общий доступ к папке на сервере. Я поделился папкой, я открыл порт 445, чтобы я мог подключиться к серверу, но все же я не могу подключиться с локальной машины к серверу, чтобы сопоставить сетевой путь с системным диском.

+0

Как настроить сервер, вероятно, вопрос serverfault.com, а не переполнение стека – Grzenio

ответ

3

Поскольку вы развертываете сайт ASP.Net, я предполагаю, что вы находитесь в среде Windows (не умна? :)).
SO! Забудьте о .bat и идите за POWERSHELL!

Во всяком случае, это не точка вашего вопроса ... Для копирования на удаленную папку, вы должны иметь права сделать это на Remote компьютера.

Проверьте, есть ли у вас одна учетная запись на вашем локальном компьютере и на удаленном компьютере. Например, если вы зашли на свой локальный компьютер в домене «Работа» с именем «Pipo», вы должны предоставить права на эту учетную запись для записи в вашу специальную папку на удаленном компьютере.

Вы можете добиться этого, щелкнув правой кнопкой мыши по папке, параметрам безопасности и затем выбрав правильную идентификацию.

Вот шаг за шагом руководство:

http://support.microsoft.com/kb/301281

3

Это может стоить перемещение файлов с XCOPY через путь UNC

\\ компьютер \ папка

Это потребует от вас есть доступ к папке из исходного сервера. Убедитесь, что папка была общей и что соответствующие разрешения на чтение/запись были предоставлены.

+0

Есть ли пошаговое руководство по настройке сервера для совместного использования? Кажется, я не могу работать. – Max

0

Вы пробовали развязать его?

http://www.eworldui.net/unleashit/

Он может перемещать файлы по сети, запускать предварительно построить летучая мышь файлы, файл маскировку, и т.д. ...

Я использовал, чтобы использовать его, прежде чем на .NET 1.1 проектов.

1

Если сервер находится в вашей локальной сети, я бы предложил использовать robocopy вместо xcopy - он имеет гораздо больше полезных параметров и возможность повторять ошибки. Он отлично обрабатывает имена UNC (как я считаю, xcopy тоже). Я думаю, что он доступен для новых клиентов Windows - если на вашем компьютере Google нет - он доступен в различных загружаемых наборах ресурсов (я не знаю подробностей о том, когда/когда Microsoft включила его в дистрибутив ОС, потому что я если бы это было в моей утилите в течение долгого времени).

Если сервер не является локальным, вы можете выполнить сценарий FTP-клиента командной строки для выполнения передачи. Если вам нужна дополнительная гибкость или безопасность, есть много других опций передачи файлов, включая WinSCP.

Конечно, в любом случае (локальном или удаленном сервере) необходимо правильно настроить разрешения сервера и вашу аутентификацию, чтобы у этого была возможность работать.

1

Вы можете использовать любой путь UNC: \\machine\sharedFolder.Если вы не хотите настраивать общую папку, вы можете ссылаться на любой из дисков на машине, используя знак $: \\machine\c$\program files\etc. Если ваши компьютеры находятся в Active Directory или у вас есть локальный пользователь на целевой машине с тем же именем пользователя и паролем, Windows будет легко обрабатывать аутентификацию.

0

Я думаю, что вы хотите:

XCOPY c:\myproject\build\*.* \\server\\build\ /S /E 
0

Все вышеперечисленное, кажется, великие ответы - вы могли бы посмотреть на использование сценария MSBuild и задачи MSBuild сообщества, чтобы сделать все это - они могут застегивать ваш build и ftp на удаленный сервер.

Я только что установил это для одного из наших сайтов, занял пару часов, чтобы окунуться в него, но он создает сайт в выпуске, обновляет конфигурационные файлы для производства, удаляет ненужные файлы, а затем делает загрузка.

0

после просмотра так много ответов здесь решение

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y" 
Смежные вопросы