4

저는 Visual Studio Online을 사용하여 CI 빌드가 완료된 후 지속적으로 프로젝트를 배포하고 있습니다. 그러나 배포 된 웹 사이트가 dev DB 대신 프로덕션 DB를 사용할 수 있도록 제작 프로필을 사용하여 프로덕션 web.config 변형을 구축해야합니다. 나는 Scott Hanselman's blog post을 따라 CI 빌드 정의에 MSBuild 인수를 추가했습니다. 내 주장은 다음과 같습니다.게시 프로필이있는 Azure 웹 사이트에 Visual Studio 온라인 연속 배포

/p:DeployOnBuild=true /p:PublishProfile=[publish profile name] /p:AllowUntrustedCertificate=true /p:UserName=[credentials obtained from Azure Website portal] /p:Password=[from the portal as well] 

배포 된 웹 사이트는 현재 프로덕션 DB를 사용하고 있습니다.

그런 다음 Deployment 섹션의 CI 빌드 정의에 Path라는 배치 매개 변수가 있습니다. this article에서 다음과 같이 표시됩니다.

"웹 사이트의 .pubxml 파일 경로. 저장소의 루트 폴더와 관련이 있으며 클라우드 서비스에서는 무시됩니다."

정확히 원하는 것입니다. 그래서 MSBuild 인수를 제거하고 popup에서 pubxml 파일을 선택하여 배포 설정으로 경로를 설정 한 다음 다시 시도해 보겠습니다.

그러나이 멋진 간단 방법은 전혀 작동하지 않습니다. 동일한 pubxml 파일을 가리키고 두 가지 방법 모두 녹색 CI 빌드를 얻었더라도 나중에 나중에는 기본 web.config가 배포 후 변환 된 것이 아닌 것처럼 보입니다.

그래서 MSBuild 인수의 PublishProfile과 배포 설정의 경로 사이의 차이점을 알고 있다면 궁금합니다. 이 일을 올바르게하는 방법을 사용하고 있습니까?

+0

내가 아는 전부는 [여기] (http://azure.microsoft.com/en-us/documentation/articles/cloud-services-continuous-delivery-use-vso/)에서 "경로 클라우드 서비스에 대해 무시 된 repo의 루트 폴더에 상대적인 웹 사이트의 .pubxml 파일로 이동합니다. " – davenewza

+0

@ davenewza 예, 그 기사는 내 질문에 정확히 동일합니다. :) 그리고 무엇이 내 혼란을 야기 시켰고이 질문을 이끌어 냈습니다. – bigbearzhu

답변

3

같은 문제가있었습니다. "배포 설정 경로"가 MSBuild 매개 변수 "/ p : PublishProfilePath"를 설정한다는 것을 알았습니다. 빌드의 진단 로그에서이를 볼 수 있습니다. PublishProfilePath 매개 변수가 무엇을하는지 잘 모르겠습니다.

그러나 나는 다른 방식으로 작동하는 변형이 있습니다. "빌드"섹션에서 릴리스 구성을 사용하도록 "구성"을 설정합니다. VSO 빌드를 통한 게시는 구성에 변형을 적용하는 것처럼 보입니다.

관련 문제