如何使用TeamCity使用WebDeploy部署ASP.NET核心应用程序



我在了解如何将ASP.NET核心应用程序发布到服务器上使用WebDeploy在Teamcity上。

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

  • dotnet Restore(作为命令行步骤,nuget上的步骤插入(

  • dotnet Publish src/projectName/projectName.csproj

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

传统上,我们会使用MSBUILD并定位出发布配置文件,但是我不确定.NET Core是否使用MSBUILD。

我有一个发布个人资料作为解决方案的一部分,该解决方案在VS2017中成功工作。我已经查看了TeamCity博客,该博客讨论了设置TeamCity使用.NET Core,尽管它确实提到了WebDeploy,但它简单地提到了它可以与dotnet publish一起使用,而无需真正解释如何。

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

传统上,我们会使用MSBUILD并定位出发布配置文件,但是我不确定.NET Core是否使用MSBUILD。

我还发现缺乏自动化.NET核心部署的文档。通常,用于部署到IIS,您有两个选择。

您仍然可以将MSBUILD与/p:DeployOnBuild=true一起使用,以与.NET Framework网站一样,在Visual Studio中创建的.pubxml发布配置文件。在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>

我已经使用下一个命令来创建Web部署软件包:

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

此步骤之后,我已经通过WebDeploy命令将软件包部署到IIS

最新更新