如何使用TeamCity模拟VisualStudio发布Web功能

时间:2017-12-11 14:26:02

标签: visual-studio teamcity

Visual Studio(VS)提供了一个'发布网络'功能,您可以从中选择一个配置文件&它生成构建artfects - 这按预期工作,我的Web.config从配置文件转换(比如web.Test.config)。

如果我通过teamcity使用/ p构建:配置="测试" ,构建是好的,但我没有看到任何转变 - 我的期望是好的。我确实有octoPack运行集。

我还有其他VS项目,我是否使用团队城市来构建nuget包,然后通过Octopus部署到各种环境。八达通进行转型的地方。我认为我混淆了我对团队城市的期望,即它不是对VS&Pubs.-Publish-Web的模仿。即使我不使用章鱼部署到环境中,我也必须使用teamcity +章鱼这两个步骤来提供输出可交付成果。

1 个答案:

答案 0 :(得分: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