2012-10-22 3 views
7

Visual Studio 2012에서 웹 배포와 함께 게시 프로필을 사용하면 배포가 상당히 간단 해집니다. 그러나 그것은 여전히 ​​몇 가지를 놓치고 있거나 그것을 사용하는 방법을 모른다.NTLM 인증을 사용하도록 게시 프로필을 구성하는 방법

  • 특히 게시 프로필에 사용자 이름과 암호를 저장하지 않고 NTLM 인증을 사용하는 것이 좋습니다. 어떻게 할 수 있습니까? 사용자 이름과 암호를 비워두면 입력하라는 메시지가 나옵니다. .pubxml 파일을 수동으로 수정하는 것과 같은 방법이 있습니까?
  • PublishProfileName.pubxml에 사용자 이름/암호가 저장되어 있고 각 사용자에게 로컬 인 PublishProfileName.pubxml.user이 아닌 소스 제어에서 확인한 이유는 무엇입니까? 적어도 사용자 이름을 저장할 수는 있지만 분명히 체크 인 할 필요는 없습니다.
  • 구성 자체는 PublishProfileName.pubxml의 일부가 아니며 PublishProfileName.pubxml.userLastUsedBuildConfiguration으로 저장됩니다.
  • 플랫폼과 동일합니다.
  • 또한 다중 서버 배포에 대한 지원이 누락되었습니다. 현재 프로필 게시 이외에 배치 파일을 사용해야합니다.

편집

출판 잘 작동 명령 줄 내가 구성의 일부가 경우 /p:Configuration=QA를 생략하고 싶은이에

MSBuild.Exe MyProject.sln /p:Configuration=QA /p:DeployOnBuild=true;PublishProfile=PublishToQA;AllowUntrustedCertificate=true /p:authType=NTLM /p:UserName= 

인 프로파일 자체 게시 할 수 있습니다.

답변

5

일부 질문에 대한 답변입니다.

  • 나는 게시 프로필의 사용자 이름과 암호를 (특히) 저장하지 않고 NTLM 인증을 사용하는 것을 선호합니다. 어떻게 할 수 있습니까? 사용자 이름과 비밀번호를 비워두면 나는 입니다. 수동으로 .pubxml 파일을 수정하는 것과 같은 방법이 있습니까?

인증은 일반적으로 Web Deploy가 호스팅되는 방식에 따라 결정됩니다.기본적으로 웹 관리 서비스를 사용하는 경우 IIS 사용자를 사용하여 인증합니다. IIS 사용자를 통해 특정 사이트/앱에 대한 권한을 가진 사용자를 제어 할 수 있습니다. WMSVC가 Windows 인증을 사용하도록 구성 할 수도 있습니다. 이러한 시나리오에 대해 VS를 사용하는 데 문제가 있으면 알려주십시오. Remote Agent 서비스를 사용하여 Web Deploy를 호스팅하는 경우이 경우 windows auth를 사용하게됩니다.

    나는 소스 제어 체크하고 있지 PublishProfileName.pubxml.user에 즉 각 사용자에게 로컬 사용자 이름/암호가 PublishProfileName.pubxml에 저장됩니다 왜
  • ? 나는 적어도 이름을 절약 할 수 있지만, 분명히 그에서 을 확인하고 싶지 않아요.

우리는 당신이 공유/개인 어떤 정보가 확인하는 또 다른 메커니즘을 가지고있다. 암호를 제외한 모든 게시 정보는 공유됩니다 (및 기본적으로는). 설계를 단순화하기 위해 공유되는 게시 프로파일 또는 전혀 공유되지 않는 프로파일을 가질 수 있습니다. 일부 필드가 공유되고 다른 필드가 아닌 프로필이있는 중간은 없습니다. 암호는 여기에 나와 있으며 .pubxml.user 파일에서 사용자 별/컴퓨터별로 암호화됩니다.

비공개 게시 프로필을 원할 경우 게시 프로필에 해당하는 .pubxml 파일을 체크 인 할 수 없습니다. 이들은 Properties \ PublishProfiles (또는 VB의 경우 My Project \ PublishProfiles)에 저장되고 프로젝트에서 제외되며 파일을 체크하지 않습니다. 게시 대화 상자는 디스크에있는 프로필뿐만 아니라 디스크의 프로필을 찾습니다. 프로젝트. 모든 일이 계속되어야합니다.

.pubxml.user 파일에 선택적으로 값을 저장하는 개념은 지원하지 않습니다. 게시 대화 상자는 해당 파일에 설정된 수의 값만 저장합니다. 대신

  • Configuration (구성) 자체 PublishProfileName.pubxml의 일부가 아니라 LastUsedBuildConfigurationPublishProfileName.pubxml.user에 저장됩니다.
  • 플랫폼과 동일합니다.

이 그것이 .pubxml 파일이 아닌 .pubxml.user 파일에 저장되어 있어야 실수였다. 우리는이 문제를 해결했지만 아직 업데이트를 릴리스 할 기회가 없었습니다.

게시 속성에서 구성 속성을 설정할 수 없습니다. Configuration 속성은 빌드 프로세스의 핵심 부분입니다. 좀 더 구체적으로 말하면 우리가이 속성을 Configuration이라고 부르지 않은 이유는 빌드 & 게시 중에 .pspxml 파일을 .csproj/.vbproj의 정의로 가져 오기 때문입니다. 구성에 따라 다른 속성이 정의되기 때문에 일단 값이 설정되면 변경할 수 없습니다. 나는이 주제에 대한 너무 많은 세부 사항을 가진 블로그를 http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx에 방금 블로그에 올렸다. 이 제한은 게시 제한이 아닌 MSBuild 문제입니다. 명령 행을 위해 다음과 같은 방법으로 구성을 지정해야합니다 : MSBuild.exe를 myproj.csproj /p:...(other 속성을) .../P : 구성 =

  • 나는 또한 실종 지원 다중 서버 배포의 경우 현재 프로필 게시 이외에 배치 파일을 사용해야합니다.

우리는 직접적인 지원이 없지만, 필요에 따라 확장 할 수 있다면 도움이 될 것입니다. 참고 해드릴 수있는 확장 프로그램이 있습니다. http://sedodream.com/2012/03/14/PackageWebUpdatedAndVideoBelow.aspx에 5 분 동영상을 올렸습니다.

+0

답해 주셔서 감사합니다. 내가 언급 했어야 만, 서버는 WMSVC를 사용하는 웹 배포를 위해 NTLM (IIS 사용자 대신 Windows 사용자를 사용함)을 허용하도록 올바르게 설정되었습니다. 저의 첫 번째 요지는 프로필 게시에 관한 것이 었습니다. 즉, 게시 프로필에 NTLM을 사용하도록 지시하는 방법이었습니다. .pubxml 파일에서 설정하거나 수동으로 제거 할 때 사용자 이름/암호를 생략하면 자격 증명 대화 상자가 나타납니다. 내 자격 증명을 MyDomain \ MyWindowsUsername 및 MyPassword로 입력 할 수 있으며 정상적으로 작동하지만 매번 그렇게해야합니다. 현재 Windows 자격 증명을 사용하는 옵션을 찾고 있습니다. –

+0

내 두 번째 포인트는 공유 프로필에 관한 것입니다. 각 프로필은 로컬 인 공유 (체크인) 및 공유되지 않음 (.user)의 두 부분으로 구성됩니다. 개별 사용자 이름을 사용하고 있지만 여전히 공유 프로필을 사용하려고합니다. 공유 프로필 (다른 모든 설정 포함)을 계속 사용할 수 있도록 각 사용자가 자신의 설정을 가질 수 있도록 .user 프로필에 사용자 이름/암호를 저장하는 것이 더 신중해야합니다. 이는 많은 사용자가 품질 보증을 위해 게시 할 수있는 경우 중요하며 다른 유일한 것이 사용자 이름/비밀번호 인 경우 각 사용자가 자신의 게시 프로필을 만들지 못하게하는 것입니다. –

+0

.user 프로필에 저장되는 구성 및 플랫폼에 대한 수정 사항으로이 업데이트를 기대합니다. 프로필이없고 TFS에서 새 파일을 얻고이를 사용하여 게시 한 사용자에게 어떤 영향을 미칩니 까? 프로필 (PublishToQA.pubxml)이 QA 구성을 사용한다고 가정하지만 PublishToQA.pubxml.user가없고 마지막으로 사용한 구성이 디버그입니까? 나는 다른 팀원과 테스트 해 볼 것입니다. –

0

pubxml 개의 파일을 수동으로 편집하는 것이 무료 (권장)되므로 자유롭게 암호를 제거하십시오.

NTLM으로 전환하려면 PropertyGroup에서 AuthTypeNTLM으로 변경하십시오.

PlatformConfiguration은 빌드 구성으로 남아 있으므로 user 파일은 Visual Studio에서 배포 한 마지막 구성이 무엇인지 알 수 있도록 파일을 저장합니다.

다중 서버의 경우 웹 팜을 의미합니까? 그렇다면 기본 서버에서 다른 서버로 MSDeploy 동기화를 기본적으로 수행하는 Web Farm Framework을 살펴보십시오.

또는 명령 줄로 전환하고 postSync을 사용하여 다른 서버를 트리거하는 원격 서버에서 배치 파일을 업로드하고 실행할 수 있습니다.

+0

답장을 보내 주신 Richard에게 감사드립니다. pubxml 파일을 여러 가지 방법으로 편집하여 NTLM을 추가하는 등의 작업을 수행했지만 사용자 자격 증명을 요청합니다. 필자의 Windows 사용자 자격 증명을 채우면 작동하지만 이미 로그인 한 상태이므로 NTLM을 사용한다고 말할 수 있다면 현재 사용중인 Windows 자격 증명을 입력하고 입력하지 않아도 사용할 수 있기를 바라고 있습니다. 때마다. –

+0

게시 프로필은 플랫폼 및 구성을 저장해야하기 때문에 특정 게시 프로필 (예 : MyPublishProfileForQA가 사용되며 프로필 정의의 일부인 QA 구성이 사용됩니다. @ Sayed는 그 부분을 crarifed했다. 업데이트가 있기 전까지는이 정보를 수동으로 계속 제공해야합니다. –

+0

WFF 용 "컨트롤러"를 요청했으며 그 전까지는 배치 파일을 계속 사용하여 여러 서버 배포를 처리했습니다. –

관련 문제