자동화 된 빌드가 끝날 때 자동으로 웹 응용 프로그램을 배포하려고하는데 분명히 누락되었습니다.TFS2010 빌드가 웹 응용 프로그램을 배포하지 않습니다.
내 설정은 다음과 같습니다 ServerA에
TFS에 Win7에 워크 스테이션
TFS2010 저장소에
VS2012가 serverC에 IIS7에서 서버 B에
테스트 사이트를 에이전트를 구축 할 수 있습니다.
기본 MVC4 템플릿을 사용하여 빠른 테스트 프로젝트를 만들고 MS VS Scrum 1.0 템플릿을 사용하여 팀 프로젝트를 만들었습니다.
게시 웹 대화 상자를 사용하여 웹 응용 프로그램에 대한 새 게시 프로필을 만들었으며 .pubxml 파일이 프로젝트에 체크인되었습니다.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>TestServer/DeployTest</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://TestServer</MSDeployServiceURL>
<DeployIisAppPath>webapp-dev/DeployTest</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>mydomain\myuser</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
이 이름 중 일부는이 프로필을 사용하여 무고한 :
을 보호하기 위해 변경되었습니다 * I 성공적없이 테스트 웹 서버에 비주얼 스튜디오에서 위해 appliction을 게시 할 수 있습니다 다음 pubxml이 같이 보입니다 어떤 문제.
Scott Hanselman's blog post 다음 나는 성공적으로 내 워크 스테이션 명령 행에서 출판msbuild를 DeployTest.csproj/P : DeployOnBuild = 참/P : PublishProfile = 시험/P : AllowUntrustedCertificate = 참/P : 비밀 번호 = notTheRealPassword
그런 다음 팀 탐색기에서 빌드 서버를 사용하여 단위 테스트를 컴파일하고 실행하는 빌드를 만들었습니다. 문제 없다. 프로젝트 빌드, 단위 테스트 합격.
/P : DeployOnBuild = 참/P : PublishProfile = 시험/P : AllowUntrustedCertificate =
나는 다음 빌드 정의의 고급 섹션에 인수 빌드 MS에 명령 줄에서 매개 변수를 추가 true/p : Password = notTheRealPassword
빌드가 실행되고 단위 테스트가 통과되고 아무 것도 웹 서버에 게시되지 않습니다. :(
는누군가 내가 놓친 무엇을 가르치 려 수 있습니까? 내가 읽은 것도 내가 밖으로 놓친 단계를 나타내는 것 같다하지만이 작업을 수행하는 방법을 설명하는 겉으로는 소중한 작은 문서가있다.
에게 유일한 차이점을, 그 두 가지 시나리오를 배포하는 사이에 나는 배치의 발신자입니다 생각합니다. 권한을 확인하겠습니다. –
빌드 서비스는 웹 서버의 Administrators 그룹에 추가 한 도메인 계정으로 실행됩니다. 그것은 명령 행 테스트에서 성공적으로 사용한 것과 동일한 계정이고 VS는 게시합니다. – Nick