Полный список аргументов / 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

дополнительная информация:

здесь есть список параметров:

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.workflow.activities.msbuild_properties.aspx

однако это не полный список - например, этот список не включает 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