如何使用TeamCity使用WebDeploy部署ASP.NET Core应用程序?

时间:2017-04-25 14:31:44

标签: asp.net-core teamcity webdeploy

我在理解如何使用TeamCity上的Webdeploy将ASP.NET核心应用程序发布到服务器时遇到一些麻烦。

我已经安装了dotnet核心teamcity插件,并有两个构建步骤:

  • dotnet restore(作为命令行步骤,nuget内置步骤超时)

  • dotnet发布src / projectName / projectName.csproj

但是我对第三步的操作感到困惑,即将dotnet publish的结果发布到我们的服务器。

传统上我们使用MSBuild并定位发布配置文件,但我不确定.NET内核是否使用MSBuild。

我有一个发布配置文件作为我的解决方案的一部分,在VS2017中成功运行。我已经看过TeamCity博客,该博客讨论了如何设置TeamCity以使用.NET Core,虽然它确实提到了WebDeploy,但它只是提到它可以与dotnet publish一起使用,而无需真正解释如何。

2 个答案:

答案 0 :(得分:0)

  

但是我对第三步的做法感到困惑,即将dotnet发布的结果发布到我们的服务器。

     

传统上我们使用MSBuild并定位发布配置文件,但我不确定.NET内核是否使用MSBuild。

我还发现缺乏自动.NET Core部署的文档。通常,对于部署到IIS,您有两种选择。

您仍然可以使用/p:DeployOnBuild=true的MSBuild来部署在Visual Studio中创建的.pubxml发布配置文件,与.NET框架网站一样。在dotnet恢复后运行MSBuild而不是dotnet发布。

或者您也可以使用dotnet publish发布到文件夹,并使用msdeploy.exe将该文件夹同步到IIS站点,可能在远程计算机上。典型地:

msdeploy.exe -verb:sync -source:contentPath="<the folder published to by dotnet publish>"  -dest:contentPath=<Your IIS Site>

答案 1 :(得分:0)

我使用下一个命令创建了Web部署包:

dotnet publish <Path_and_name_of_project>.csproj --configuration Release /p:PublishProfile=<profile_name>

在此步骤之后,我通过webdeploy命令

将软件包部署到iis