2017-12-11 20 views
0

Visual Studio (VS)는 '게시 웹'기능을 제공합니다.이 기능을 사용하면 & 프로파일을 선택하여 빌드 artfects를 생성합니다. 예상대로 작동하며 Web.config가 변환됩니다. 프로필 (예 : web.Test.config)에서.TeamCity를 사용하여 VisualStudio 게시 웹 기능을 에뮬레이트하는 방법

/p : Configuration = "Test"를 사용하여 teamcity를 통해 빌드하면 빌드가 좋지만 변환이 표시되지 않습니다. - 내 기대가 맞습니까? 나는 octoPack 실행 세트를 가지고있다.

다른 VS 프로젝트가 있는데, 팀 도시를 사용하여 Nuget 패키지를 빌드 한 다음 Octopus를 통해 다양한 환경에 배포합니다. Octopus가 변형을하는 곳. Teamcity에 대한 내 기대, 즉 VS의 Publish-Web 에뮬레이션이 아니라는 것을 혼란스럽게 생각합니다. 낙타를 사용하여 환경에 배포하지 않더라도 팀 구성 + 낙지를 사용하여 산출물을 산출해야합니다.

답변

0

작동 시키려면 구성 파일 게시 * .pubxml에서 구성해야합니다. 그런 다음 TeamCity에서이 파일을 빌드 단계로 사용해야합니다. 여기에 예를 들어 당신이 테스트 구성이 가정입니다 다음 Visual Studio에서 출시 디버그:

Test.pubxml

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <WebPublishMethod>MSDeploy</WebPublishMethod> 
     <AllowUntrustedCertificate>True</AllowUntrustedCertificate> 
     <Configuration>Test</Configuration> 
     <LastUsedBuildConfiguration>Test</LastUsedBuildConfiguration> 
     <LastUsedPlatform>Any CPU</LastUsedPlatform> 
     <SiteUrlToLaunchAfterPublish>http://your-website:8080/</SiteUrlToLaunchAfterPublish> 
     <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish> 
     <ExcludeApp_Data>False</ExcludeApp_Data> 
     <MSDeployServiceURL>server-name</MSDeployServiceURL> 
     <DeployIisAppPath>SITE_NAME_ON_IIS</DeployIisAppPath> 
     <RemoteSitePhysicalPath /> 
     <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer> 
     <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod> 
     <EnableMSDeployBackup>False</EnableMSDeployBackup> 
     <UserName>UserNameWithPermission</UserName> 
     <_SavePWD>True</_SavePWD> 
    </PropertyGroup> 
</Project> 

명령 줄 매개 변수 :

/p:DeployOnBuild=true 
/p:PublishProfile="%teamcity.build.workingDir%\PathToConfiguration\Test.pubxml" 
/p:SolutionDir="%teamcity.build.workingDir%" 
/p:Password=PASSWORD 

빌드 파일 경로는 * .csproj 파일이어야합니다.

TeamCity Configuration