2014-04-28 8 views
0

간단한 proof-of-concept 웹 배포 시나리오를 만들려고합니다.웹 배포 (msdeploy)를 다른 폴더에 배포하는 방법은 무엇입니까?

  1. 는 몇 개의 파일과 폴더를 가지고 .zip 파일
  2. 의 포장을 풀고 다른 폴더
  3. 실행 압축을 푼에서 .exe로 .zip 파일에 패키지화 : 내 목표는에있다 폴더 (.exe가 압축을 푼 위치를 알려줍니다). 내가 설치된 IIS없이 가상 머신에이 일을 해요

, 그렇지 않으면 그것은 그것으로 아무것도 할 필요가없는 경우에도, 어떤 이유로 IIS의 설정을 읽을 싶어 (그리고 관리 부족하기 때문에 실패 진상).

I가 다음 파일을 한 .zip 패키지 매니페스트를 통해 생성

C:\Temp\TheFolder\readme.txt 
C:\Temp\TheFolder\MagicScript\CSTest.exe 

: 들어

msdeploy -verb:sync -source:manifest=manifest.xml -dest:package=ready.zip 

: 나는 다음과 같은 명령을 사용하여 포장

<sitemanifest> 
    <contentPath path="C:\Temp\TheFolder"/> 
    <runCommand path="C:\Temp\TheFolder\MagicScript\CSTest.exe"/> 
</sitemanifest> 

unpackaging 다음 명령을 사용합니다 :

msdeploy -verb:sync -source:package=ready.zip -dest:auto -replace:match=TheFolder,replace=OtherFolder 

그러나 MSDeploy는 모두 동일한 TheFolder에있는 모든 항목을 완고하게 풀어 놓습니다. 또한 .exe 파일은 패키지되지 않은 폴더에서 실행되지 않습니다. 오히려 temp 폴더에 복사 된 다음 현재 디렉토리가 배포 스크립트를 실행 한 곳으로 설정된 상태에서 실행됩니다.

replace 대신 매개 변수를 사용해도 시도했지만 여전히 효과가 없습니다.

내가 뭘 잘못하고 있니?

답변

0

"msdeploy -verb : sync"- 원본과 대상 간의 동기화를 수행합니다. "자동"공급자를 사용하는 경우 - 원본과 대상을 동기화합니다. 따라서 동일한 PC의 경우 동일한 폴더입니다. "replace"매개 변수는 파일에 대해서만 작동합니다.

msdeploy -verb:sync -source:package=ready.zip -dest:-source:manifest=manifestDestination.xml 

manifestDestination.xml은 다음과 같습니다 :

<sitemanifest> 
    <contentPath path="C:\Temp\OtherFolder"/> 
    <runCommand /> 
</sitemanifest> 
작동하지 않을 경우, 대상 매니페스트를 사용하려고

msdeploy -verb:sync -source:package=ready.zip -dest:contentPath="C:\Temp\OtherFolder" 

또는 :

다음과 같은 방법을 시도 할 수 있습니다

+0

나는'-dest' 매개 변수에 오타가 있다고 생각합니다. 어쨌든, 나는 그것에 대해 생각하지 않았습니다. 그래도 .ZIP과 타겟 매니페스트라는 두 개의 파일을 제공해야한다는 의미입니다. 맞습니까? 또한 대상 매니페스트는 대상 컴퓨터에서 수정해야합니다. –

+0

예, 두 번째 방법을 사용하는 경우 두 개의 파일이 필요합니다. 그것은 당신이 프로젝트를 어떻게 보내고 있는가에 달려 있습니다. 여러 대의 컴퓨터가있는 경우 각각에 고유 한 디렉토리가 필요하지만 문제가 될 수 있습니다. 그러나 각 컴퓨터에 'OtherFolder'가 있으면 'TheFolder'대신 'OtherFolder'에서 패키지를 만드는 것이 더 쉽습니다. 어떤 방법 으로든 웹 배포의 경우 표준 WebDeploy 기능을 사용하는 것이 좋습니다. –

+0

저희 회사는 인트라넷 웹 사이트 (기본적으로 당사의 주력 ERP 응용 프로그램의 웹 프론트 엔드) 인 제품을 만들고 있습니다. 그것을 사용하는 많은 고객이 있습니다. 자동화 된 설치 프로그램을 사용하여 사람이 개입하지 않아도 웹 사이트를 자동으로 설치하고 업그레이드 할 수 있습니다. 따라서 단일 패키지에 대해 많은 매개 변수를 지정해야합니다 (명령 줄 또는 기타 방법을 통해). –