Полный список аргументов / P MSDeploy для MSBuild из TeamCity
в настоящее время я использую MSBuild runner в TeamCity для непрерывной интеграции на моем локальном сервере, и это работает очень хорошо. Однако у меня возникли проблемы с поиском полного списка поддерживаемых коммутаторов командной строки для MSDeploy в формате, который ожидает их TeamCity.
В разделе Мои параметры на данный момент я использую следующие параметры:
/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;NewFolderInSolutionFolder:Clean
http://msdn.microsoft.com/en-us/library/ms164311.aspx
похоже, что эти ссылки для аргументов командной строки не соответствуют формату /P: - например, CreatePackageOnPublish и Deployisapppath не распознаются параметрами командной строки, но они отлично работает в процессе сборки TeamCity.
где я могу найти полный документированный список аргументов MSDeploy в формате
/P: Param=Value
дополнительная информация:
здесь есть список параметров:
однако это не полный список - например, этот список не включает DeployAsIisApp или SkipExtraFilesOnServer, которые являются параметрами, работающими из сборки Team City.
также этот вопрос (возможно, повторяющиеся): допустимые параметры для MSDeploy через MSBuild который содержит некоторые аргументы , но все же не окончательный список.
2 ответов
во-первых, короткий ответ: вы не найдете полного списка. MSBuild не имеет полного списка параметров, которые вы можете выбрать, так как вы можете отправить любой параметр, который вам нравится. Это средство связи между вызывающим MSBuild и автором сценария сборки MSBuild (например, файл vs sln или csproj).
если скрипт сборки используйте параметр используется, в противном случае он игнорируется.
таким образом, это действительный вызов в MSBuild:
msbuild /p:<anything>=<anything>
во-вторых, вы не должны отправлять параметры msbuild из teamcity с помощью параметров / p: command. Вместо этого задайте конфигурацию или системные свойства в конфигурации сборки teamcity. Они будут переданы msbuild автоматически в качестве параметров.
вот параметры, используемые Visual Studio Team Services при создании ASP.NET (предварительный просмотр) определение сборки:
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:PackageLocation="$(build.artifactstagingdirectory)\"
можно также экстраполировать от <PropertyGroup />
блоки, определенные в этих примерах:
https://msdn.microsoft.com/en-us/library/ff398069 (v=против 110).aspx
из этого примера:
<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>
вы можете получить следующее список:
- WebPublishMethod
- LaunchASiteUrlAfterPublish
- SiteUrlToLaunchAfterPublish
- MSDeployServiceURL
- DeployIisAppPath
- RemoteSitePhysicalPath
- AllowUntrustedCertificate
- SkipExtraFilesOnServer
- DeployAsIisApp
- MSDeployPublishMethod
- имя пользователя
- SavePWD
- PublishDatabaseSettings