문제

ASP.NET 앱의 배포 / 빌드 프로세스를 개선하기 위해 .bat 저것

  • 릴리스 모드에서 현재 솔루션을 빌드합니다
  • xcopy 원격 서버에 파일

명령 줄을 통해 릴리스 빌드를 만드는 것은 쉽습니다.

그러나 파일을 원격 서버로 어떻게 xcopy 할 수 있습니까?

원격 대상을 네트워크 드라이브 (?)에 매핑해야한다고 생각합니다. 그러나 서버의 폴더에 대한 파일 공유를 활성화했지만 원격 서버에 연결할 수 없었습니다. 방화벽이 요청을 차단하고 있습니까? 어떤 포트를 열어야합니까? 아니면 다른 해결책이 있습니까?

편집하다

지금까지 모든 답변에 감사하지만 서버에서 폴더 공유를 설정하는 방법에 대한 단계별 가이드가 필요할 것입니다. 폴더를 공유하고 서버에 연결할 수 있도록 포트 445를 열었지만 여전히 네트워크 경로를 시스템 드라이브에 매핑하기 위해 로컬 시스템에서 서버에 연결할 수 없습니다.

도움이 되었습니까?

해결책

ASP.NET 사이트를 배포하고 있기 때문에 Windows Environment (Smart가 아닌가? :))에 있다고 가정합니다.
그래서 ! .Bat을 잊고 가십시오 PowerShell !

어쨌든, 이것은 당신의 질문의 점이 아닙니다 ... 원격 폴더에 복사하려면 원격 컴퓨터.

로컬 컴퓨터와 원격 컴퓨터에 동일한 계정이 있는지 확인하십시오. 예를 들어, 로그인 "PIPO"와 함께 도메인 "작업"에서 로컬 컴퓨터에 로그인 한 경우 원격 컴퓨터의 특수 폴더에 작성할 수있는 권한을 제시해야합니다.

폴더, 보안 옵션을 마우스 오른쪽 버튼으로 클릭 한 다음 올바른 ID를 선택하면이를 달성 할 수 있습니다.

단계별 가이드는 다음과 같습니다.

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

다른 팁

UNC 경로를 통해 Xcopy로 파일을 이동하는 것이 좋습니다.

machine 폴더

원래 서버에서 폴더에 액세스해야합니다. 폴더가 공유되었고 관련 읽기/쓰기 권한이 부여되었는지 확인하십시오.

서버가 로컬 네트워크에 있으면 사용하는 것이 좋습니다. robocopy 대신에 xcopy - 오류를 재 시도 할 수있는 더 유용한 옵션과 기능이 많이 있습니다. UNC 이름을 잘 처리합니다 (내가 믿는대로 xcopy 그렇습니다). 최신 Windows 클라이언트에서 사용할 수 있다고 생각합니다. 시스템에 있지 않은 경우 Google을 위해 Google을 사용할 수 있습니다. 다양한 리소스 키트 다운로드로 제공됩니다 (IF/IF/Microsoft가 OS 배포에 포함시키기 시작한 세부 사항은 모릅니다. 내 유틸리티 키트에 오랫동안 오랫동안 오랫동안 사용했습니다).

서버가 로컬이 아닌 경우 명령 줄 FTP 클라이언트를 스크립트하여 전송을 수행 할 수 있습니다. 추가 유연성 또는 보안이 필요한 경우 WinSCP.

물론 두 경우 모두 (로컬 또는 원격 서버), 서버의 권한과 인증을 제대로 설정하려면 제대로 설정해야합니다.

UNC 경로를 사용할 수 있습니다. \\machine\sharedFolder. 공유 폴더를 설정하지 않으려면 $ 부호를 사용하여 기계의 드라이브를 참조 할 수 있습니다. \\machine\c$\program files\etc. 기계가 Active Directory에 있거나 동일한 사용자 이름과 비밀번호가있는 대상 시스템에 로컬 사용자가있는 경우 Windows가 인증을 완벽하게 처리합니다.

당신은 그것을 해제 해 보셨습니까?

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

네트워크에서 파일을 이동하고 사전 빌드 박쥐 파일을 실행하고 파일 마스킹 등을 이동할 수 있습니다 ...

.NET 1.1 프로젝트에서 이전에 사용했습니다.

나는 당신이 원한다고 생각합니다 :

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

위의 모든 내용은 Grand 답변 인 것 같습니다. MSBuild 스크립트와 MSBuild 커뮤니티 작업을 사용 하여이 모든 작업을 수행 할 수 있습니다. 빌드를 확장하여 원격 서버로 FTP를 사용할 수 있습니다.

방금 우리 사이트 중 하나를 위해 이것을 설정하고 머리를 돌리는 데 몇 시간이 걸렸지 만 릴리스시 사이트를 작성하고 생산을위한 구성 파일을 업데이트하고 불필요한 파일을 제거한 다음 업로드를 수행합니다.

여기에 많은 답변을 찾은 후에는 해결책이 있습니다.

"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top