2014-02-24 1 views
11

다음은 내 dev에 환경에 맞게 제작 프로파일을 생성 다음과 같습니다게시 프로파일을 확장하여 여러 위치에 배포하려면 어떻게합니까?

무엇 내가 상상하고 싶어하는 것은 매우 쉽습니다
<?xml version="1.0" encoding="utf-8"?> 
<!-- 
This file is used by the publish/package process of your Web project. You can customize the behavior of this process 
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
--> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <WebPublishMethod>FileSystem</WebPublishMethod> 
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> 
    <LastUsedPlatform>Any CPU</LastUsedPlatform> 
    <SiteUrlToLaunchAfterPublish /> 
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> 
    <ExcludeApp_Data>False</ExcludeApp_Data> 
    <publishUrl>\\dev\webroot</publishUrl> 
    <DeleteExistingFiles>False</DeleteExistingFiles> 
    </PropertyGroup> 
</Project> 

, 나는 단순히 내가 같은 프로젝트를 게시 할 경우 추가로 게시 할 URL을 추가 할 . 불행히도 나는 이것을 단순한 방식으로하는 방법에 관해서는 아무것도 찾을 수 없었습니다. 모두는 몇 가지 복잡한 msdeploy 솔루션을 구현해야하거나 바람직하지 않은 스크립트 (예 : ps/batch + robocopy/xcopy)로 대체해야한다고 제안합니다. 이다

<publishUrl>\\dev\webroot;\\dev2\webroot2</publishUrl> 

또는

<itemGroup> 
<publishUrl>\\dev\webroot;</publishUrl> 
<publishUrl>\\dev2\webroot;</publishUrl> 
</itemGroup> 

주요 질문 : 가 어떻게 여러에 배포 할 내 제작 프로파일을 확장 할 수 있습니다

나는 하나가 단순히 뭔가를 할 수있는 상상 FTP 또는 파일 시스템을 통한 위치?

RTFM 응답 인 경우 여기를 참조하십시오.

업데이트 FTP를 사용하여 여러 번 배포 할 수 있다면 이와 같은 솔루션에도 관심이 있습니다.

+0

원본 출력의 빌드 빌드 사본이 여기에서 선호됩니다. 왜 두 위치 모두에서 전체 빌드 및 게시 파이프 라인을 실행하려고합니까? – gregpakes

+0

아니요, 여러 경로를 포함하여 위치를 게시하고 싶습니다. 어쩌면 내가 분명하지 않을 수도 있습니다. 내가 만들고있는 요점은 불필요한 스크립팅 지옥과 가능한 경우 복잡한 배포 체인을 피하고 싶다는 것입니다. – Marcus

+0

무슨 짓을 한거야? –

답변

-1

VS에서 게시 옵션을 염두에두고 개발되었는지 잘 모르겠습니다. 내가 제안 할 수있는 유일한 방법은 프로젝트를 첫 번째 대상에 배포 할 때 robocopy와 같은 도구를 사용하여 모든 내용을 새 폴더로 복사하는 것입니다. 사용법은 매우 간단합니다. 여기에 샘플 명령 줄 사용 방법이 있습니다 :

robocopy <SRCFOLDER> <TGTFOLDER> /E /XO /XF *.config 

rem /E : Copy Subfolders, including Empty Subfolders. 
rem /XO : eXclude Older - if destination file exists and 
      is the same date or newer than  the source - don't overwrite it. 
rem /XF *.config : excludes all .config files from copy operation 
+1

내 질문에 설명 된대로 정확히 피하려고했던 것입니다. – Marcus

0

저는 VS 2012를 사용하고 있습니다. 사용중인 VS의 버전이 확실하지 않지만 게시 프로파일을 사용하고 있으므로 아래에서 작동해야합니다.

추가 게시 URL을 사용하도록 구성 할 새 게시 프로필을 만들어야한다고 생각합니다. 간단하게 보이기 때문에 나는 당신의 질문에서 뭔가를 놓치지 않기를 바랍니다. Create New Publish Profile

+3

내가 아는 한, MSBUILD는 여러 게시 프로필을 매개 변수로 허용하지 않습니다. 수동으로 이동하여 게시하지 않고 자동화하고 싶습니다. 이는 대규모 배포 체인의 일부입니다. – Marcus