我正在尝试使用 MSDeploy 将 MVC 项目部署到使用 TeamCity 的服务器。当我在我的计算机上使用 powershell 执行此操作时,使用以下命令:
msbuild.exe .\mvc.csproj /p:PublishProfile=DevServer /p:VisualStudioVersion=11.0
/p:DeployOnBuild=True /p:Password=MyPassword /p:AllowUntrustedCertificate=true
它构建项目并将其完美部署到服务器(DevServer 发布配置文件中定义的信息)。输出显示MSDeployPublish
最后的部分,我在其中看到类似的文字Starting Web deployment task from source...
然后用行告诉我更新了哪些文件等。
当我在 TeamCity 上运行此程序时,使用 MSBuild 构建步骤,在同一文件上,使用相同的参数(来自同一工作目录),它会构建项目,但不会发布它。相反,它具有构建过程的常规输出(CoreCompile、_CopyFilesMarkedCopyLocal、GetCopyToOutputDirectoryItems、CopyFilesToOutputDirectory),但实际上并没有发布任何内容。
我需要对 TeamCity 中的设置进行哪些更改才能使其以与在我的计算机上使用 MSBuild 相同的方式发布部署?
(TeamCity 7.1、MSBuild 4.0、WebDeploy 3.0、Visual Studio 12、IIS 7。相关我之前的问题 https://stackoverflow.com/q/14230272/51)
我们使用 TeamCity MSBuild 步骤进行 WebDeploy,配置如下:
Build File Path: Server.csproj
Command Line Parameters:
/p:Configuration=%configuration%
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https://%web.deploy.server%:8172/MsDeploy.axd
/p:DeployIisAppPath=%web.deploy.site%
/p:AllowUntrustedCertificate=True
/p:Username=
/p:AuthType=NTLM
我们使用集成身份验证;根据需要进行更改以适合您的方案。我认为,它的价值在于它从头开始构建一切,并且不依赖于预先构建的包。从您发布的要点中,我注意到您进行了一些数据库发布,我们不使用 WebDeploy 来实现这一点,因此我无法提供任何指导。希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)