Yaa*_*lis 10 msbuild teamcity msdeploy webdeploy visual-studio-2012
我正在尝试使用MSDeploy使用TeamCity将MVC项目部署到服务器.当我在powershell中的计算机上执行此操作时,使用以下命令:
msbuild.exe .\mvc.csproj /p:PublishProfile=DevServer /p:VisualStudioVersion=11.0
/p:DeployOnBuild=True /p:Password=MyPassword /p:AllowUntrustedCertificate=true
Run Code Online (Sandbox Code Playgroud)
它构建项目并将其部署到服务器(DevServer发布配置文件中定义的信息).输出MSDeployPublish结尾显示了一个部分,其中我看到了文本Starting Web deployment task from source...,然后是行,告诉我哪些文件已更新,等等.
当我在TeamCity上使用MSBuild Build步骤在同一个文件上使用相同的参数(来自同一个工作目录)运行它时,它会构建项目但不会发布它.相反,它具有构建过程(CoreCompile,_CopyFilesMarkedCopyLocal,GetCopyToOutputDirectoryItems,CopyFilesToOutputDirectory)的常规输出,但实际上并没有发布任何内容.
我需要对TeamCity中的设置进行哪些更改才能使其以与从我的计算机上使用MSBuild一样的方式发布部署?
(TeamCity 7.1,MSBuild 4.0,WebDeploy 3.0,Visual Studio 12,IIS 7.与我之前的问题相关)
Joh*_*err 12
我们使用如下配置的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
Run Code Online (Sandbox Code Playgroud)
我们使用集成认证; 根据需要进行更改以适合您的计划.我认为,它的价值在于它从头开始构建所有内容,而不依赖于预先构建的软件包.从你发布的要点我注意到你做了一些数据库发布,我们没有使用WebDeploy,所以我不能在那里提供任何指导.希望这可以帮助.
Rau*_*ess 10
我使用MSBuild.exe打包到zip,并使用MSdeploy.exe在单独的步骤中进行部署.
要在命令行上部署package.zip文件:
"C:\Program Files\IIS\Microsoft Web Deploy V2\msdeploy.exe" -verb:sync
-source:package="C:\Build\MyAppName.Debug.zip"
-dest:auto,wmsvc=webservername,username=webdeploy,password=*******
-allowUntrusted=true
Run Code Online (Sandbox Code Playgroud)
这个命令也值得详细解释:
-verb:sync:使网站从源同步到目标
-source:package ="C:\ Build\MyAppName.Debug.zip":source是一个MSBuild zip文件包
-dest:auto,wmsvc = webservername:使用包文件中的设置部署到服务器.用户帐户是具有权限的操作系统级帐户.指定了主机名,但未指定IIS网站名称(之前在项目属性的MSBuild项目文件中指定).
您可以根据配置修改参数.我喜欢这种方式,因为通过单独的步骤,它更容易调试问题.
使用TeamCity构建步骤和命令行运行器.
更新: 如果您想要一个如何使用MSBuild构建ZIP包的示例,请尝试以下操作:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
MyWebApp/MyWebApp/MyWebApp.csproj
/T:Package
/P:Configuration=Debug;PackageLocation="C:\Build\MyWebApp.Debug.zip"
Run Code Online (Sandbox Code Playgroud)
这应该在您的本地PC和CI服务器上相同.
以下是最终适合我的配置设置:
/p:Configuration=CONFIG-NAME
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=http://SITE-URL/MsDeployAgentService
/p:username="USERNAME"
/p:password=PASSWORD
/p:AllowUntrustedCertificate=True
/P:CreatePackageOnPublish=True
/p:DeployIisAppPath=SITE-URL
/p:MSDeployPublishMethod=RemoteAgent
/p:IgnoreDeployManagedRuntimeVersion=True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10621 次 |
| 最近记录: |