我在理解如何使用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
一起使用,而无需真正解释如何。
答案 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