TeamCity中MSBuild的/P MSDeploy参数的完整列表
我目前使用TeamCity中的MSBuild runner在本地服务器上进行持续集成,效果非常好。但是,我很难以TeamCity所期望的格式找到MSDeploy支持的命令行开关的完整列表 目前,在“参数”部分,我使用以下开关:TeamCity中MSBuild的/P MSDeploy参数的完整列表,msbuild,continuous-integration,teamcity,msdeploy,Msbuild,Continuous Integration,Teamcity,Msdeploy,我目前使用TeamCity中的MSBuild runner在本地服务器上进行持续集成,效果非常好。但是,我很难以TeamCity所期望的格式找到MSDeploy支持的命令行开关的完整列表 目前,在“参数”部分,我使用以下开关: /P:Configuration=OnCommit /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=https://CIServer:8172/MsDe
/P:Configuration=OnCommit
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl=https://CIServer:8172/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMSvc
/P:CreatePackageOnPublish=True
/P:UserName=Kaine
/P:Password=**********
/P:DeployIISAppPath="OnCommit/MySite"
/P:SkipExtraFilesOnServer=True
/P:DeployAsIisApp=True
所有这些看起来都很好,MSDeploy也如预期的那样工作
当我想添加额外的参数时,麻烦就来了
我查阅了MSBuild参数和MSDeploy文档,似乎只找到了如下命令行参数:
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
这些命令行参数的引用似乎与/p:format不一致——例如,CreatePackageOnPublish和DeployIISAppPath不是公认的命令行参数,但它们在TeamCity构建过程中运行良好
在哪里可以找到格式为的MSDeploy参数的完整文档列表
/p:Param=值
其他信息:
这里有一个参数列表:
但是,这并不是一个完整的列表-例如,此列表不包括DeployAsiSapp或SkipExtraFilesOnServer,这两个参数都是在Team City构建中工作的参数
还有这个相关的问题(可能重复):其中包含一些参数,但仍然不是一个确定的列表。首先,简短的回答是您无法找到完整的列表。MSBuild没有可供选择的完整参数列表,因为您可以发送所需的任何参数。它是MSBuild调用方和MSBuild生成脚本(例如vs sln或csproj文件)作者之间的通信方式 如果生成脚本使用参数,则会使用该参数,否则将忽略该参数 因此,这是对msbuild的有效调用:
msbuild /p:<anything>=<anything>
msbuild/p:=
其次,不应使用/p:命令选项从teamcity向msbuild发送参数。相反,请在teamcity构建配置中设置配置或系统属性。它们将作为参数自动传递给msbuild。以下是Visual Studio Team Services在创建ASP.NET(预览)生成定义时使用的参数:
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:PackageLocation="$(build.artifactstagingdirectory)\\"
还可以从这些示例中定义的
块推断:
从这个例子中:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>Package</WebPublishMethod>
<LaunchASiteUrlAfterPublish>False</LaunchASiteUrlAfterPublish>
<SiteUrlToLaunchAfterPublish />
<MSDeployServiceURL />
<DeployIisAppPath />
<RemoteSitePhysicalPath />
<AllowUntrustedCertificate>False</AllowUntrustedCertificate>
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<DeployAsIisApp>True</DeployAsIisApp>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<UserName />
<SavePWD>True</SavePWD>
<PublishDatabaseSettings>
<!— this section omitted to keep the example short -->
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
包裹
假的
假的
真的
真的
WMSVC
真的
您可以导出以下列表:
- 网络出版法
- 发布后发布
- SiteUrlToLaunchaterPublish
- MSDeployServiceURL
- 部署路径
- RemoteSitePhysicalPath
- AllowUntrustedCertificate
- SkipExtraFilesOnServer
- 部署ISApp
- MSDeployPublishMethod
- 用户名
- SavePWD
- PublishDatabaseSettings