用于部署应用程序的发布管理工具
每个发布操作使用一个发布管理工具。 例如,命令行运行程序是运行操作的特定可执行文件的工具。 如果你需要执行所提供工具不支持的任务,可以创建自己的自定义工具并将其添加到自定义发布操作中。 工具还可用于部署应用程序的组件。
以下是随 Release Management 提供的工具及其参数的列表:
数据库部署代理 –执行脚本
此工具在特定数据库中执行 SQL 查询。 它基于使用 SQL Server 分发的标准 sqlcmd 可执行文件。 有关此可执行文件的详细信息,请参阅 sqlcmd 文档。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-S |
ServerName |
是 |
SQL 数据库的服务器名称。 |
-i |
ScriptName |
是 |
要执行的脚本的名称。 |
-b |
不可用 |
No |
此参数是一个开关。 如果它存在,则表示批处理将在出现错误时中止。 |
Reporting Services 部署代理
此工具部署 Reporting Services 报表和相关对象。 它基于自定义发布管理可执行文件。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-s |
serverUrl |
是 |
Reporting Services 服务器的完整 URL。 |
-l |
itemLocation |
是(如果选择多个项) |
项的位置。 如果指定此参数,则必须提供文件夹 (-f)。 |
-f |
folder |
是(如果选择多个项) |
项的文件夹。 如果指定此参数,则必须提供项位置 (-l)。 |
-t |
是 |
要处理的项类型。 允许的值包括:
|
|
-sp |
No |
用于筛选项的搜索模式的列表。 每个搜索模式必须由逗号或分号分隔(例如 *.bmp;*.jpg)。 如果未指定此参数,则搜索模式将基于选定的项类型 (-t) 如下所示:
|
|
-i |
是(如果选择单个项) |
项文件。 如果指定此参数,则必须提供项名称 (-n)。 必须部署单个项时将使用此参数。 如果是这种情况,则 item location (-l) 和 folder (-f) 参数不得存在。 |
|
-n |
是(如果选择单个项) |
项名称。 如果指定此参数,则必须提供项文件 (-i)。 必须部署单个项时将使用此参数。 如果是这种情况,则 item location (-l) 和 folder (-f) 参数不得存在。 |
|
-log |
No |
物理目录中将生成具有此给定名称的日志文件。 |
|
-o |
不可用 |
No |
此参数是一个开关。 如果它存在,则意味着目标将在已存在时被覆盖。 |
-ds ds1,...,dsN |
要与项关联的所有数据源的以逗号分隔的完全限定名。 这些值区分大小写。 此选项仅适用于报表。 数据源可采用以下格式:[name:] reference。 Name 是要替换引用的报告中所指定的数据源名称。 reference 是对要用于报表的目标服务器中的数据源的完全限定引用。 |
MSI 部署代理
此工具将部署 MSI。 它会在安装新产品之前,卸载以前安装的产品。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./msiexec.ps1。 |
-MsiFileName |
Installer |
是 |
要安装的 .msi 文件的完整路径(如果需要)和名称。 |
-MsiCustomArgs |
MsiCustomArgs |
No |
要用于安装 .msi 文件的自定义参数。 这些参数将直接传递给 msiexec 可执行文件。 如果不需要自定义参数,则必须从参数中删除该参数。 |
-PrevProductName |
No |
允许用户在安装 .msi 文件之前指定要卸载的上一产品的名称。 默认情况下,系统将使用要安装的 .msi 文件中的产品名。 |
XCopy 部署代理
此工具可将包位置复制到特定目标。 它基于自定义发布管理批处理脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-source |
不可用 |
是 |
指示必须复制所有源位置的固定值 |
-destination |
Installation Path |
是 |
副本的目标。 |
命令行运行程序
此工具运行特定的可执行文件。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-file |
不可用 |
是 |
固定值。/RunCommandLine.ps1。 |
-FilePath |
FilePath |
是 |
要运行的可执行文件的完整路径(如果需要)和文件名。 |
-Arguments |
参数 |
No |
运行可执行文件时所需的参数。 |
-UserDomain |
UserDomain |
No |
可执行文件必须在特定标识下运行时要使用的用户域。 如果不提供,将使用本地用户 (. \localuser)。 |
-UserName |
UserName |
No |
可执行文件必须在特定标识下运行时要使用的用户名。 |
-UserPassword |
UserPassword |
No |
可执行文件必须在特定标识下运行时要使用的用户密码。 |
Windows 注册表管理器
此工具可操作 Windows 中的注册表信息。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./ManageWindowsRegistry.ps1。 |
-Action |
操作 |
是 |
要执行的操作。 允许的值包括:
|
-OperatingSystemType |
No |
指示是否在 32 位或 64 位注册表中访问键/值。 如果不提供,默认为 32 位。 |
|
-RegistryKey |
RegistryKey |
是 |
注册表项的路径和名称(例如 HKLM\Software\MyKey)。 |
-RegistryValue |
否* |
将应用更改的注册表值(例如 MyValue)。 它对于 CreateValue、ModifyValue 和 DeleteValue 是必需的。 |
|
-ValueType |
No |
受影响的值的类型。 接受的值包括:
|
|
-RegistryData |
No |
要应用于值(如果使用 CreateValue 或 ModifyValue)或键的默认值(如果使用 CreateKey 或 ModifyKey)的数据。 |
|
-RegistryKeyDestination |
否* |
使用 ModifyKey 操作重命名注册表项时要使用的注册表项名称。 例如:
|
Windows 公共 IO
此工具可在 Windows 下执行公共 IO。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./ManageWindowsIO.ps1。 |
-Action |
操作 |
是 |
指示要执行的操作:
|
-FileFolderName |
FileFolderName |
是 |
文件或文件夹路径和名称。 |
-DestinationName |
否* |
目标名称(用于重命名操作)或文件夹路径和名称(用于移动操作)。对于重命名和移动操作是必需的。 |
|
-ReadOnly |
No |
允许用户设置或重置文件或文件夹的只读特性。
|
|
-Archive |
No |
允许用户设置或重置文件或文件夹的存档特性。
|
|
-System |
No |
允许用户设置或重置文件或文件夹的系统特性。
|
|
-Hidden |
No |
允许用户设置或重置文件或文件夹的隐藏特性。
|
|
-OwnerDomain |
No |
表示文件或文件夹的新所有者的域。 |
|
-OwnerName |
No |
表示文件或文件夹的新所有者的名称。 |
Windows 服务管理器
此工具可管理 Windows 服务。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./ManageWindowsServices.ps1。 |
-Action |
操作 |
是 |
指示要执行的操作:
|
-ServiceName |
ServiceName |
是 |
服务的名称。 |
-ServerName |
No |
要在其中执行此操作的服务器的名称。 如果未指定此参数,则将使用当前服务器。 |
|
-BinPath |
否* |
服务的二进制路径和名称。 此参数对于 Create 操作是必需的,对于 Config 操作是可选的,而所有其他操作会将其忽略。 |
|
-DisplayName |
No |
将用于此服务的显示名称。 此参数对于 Create 和 Config 操作是可选的,而所有其他操作会将其忽略。 |
|
-Description |
No |
将为服务指定的描述。 此参数对于 Create 和 Config 操作是可选的,而所有其他操作会将其忽略。 |
|
-UserName |
No |
将用于凭据以启动服务的用户名(格式必须为“域\用户”)。 如果提供了此参数,则还必须提供参数 -Password。 如果未提供此参数,则默认情况下将使用 LocalSystem 帐户。 此参数对于 Create 和 Config 操作是可选的,而所有其他操作会将其忽略。 要将凭据重置为 LocalSystem,请输入 LocalSystem 作为用户并输入 "" 作为密码。 |
|
-Password |
No |
为启动服务指定的用户名的密码。 此参数对于 Create 和 Config 操作是可选的,而所有其他操作会将其忽略。 |
|
-StartMode |
No |
服务的启动模式。 默认情况下,将使用 Automatic 创建服务。 选择是:
此参数对于 Create 和 Config 操作是可选的,而所有其他操作会将其忽略。 |
DACPAC 数据库部署代理
此工具可部署 DACPAC 包。 它基于 SQL Server 命令行实用工具。 针对此可执行文件的可能参数有很多,但此列表仅列出了用于此工具的参数。 有关详细信息,请参阅 SQL 包命令行实用工具。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
/Action: |
是 |
固定值:Publish - 指定将发布的包。 |
|
/SourceFile: |
FileName |
是 |
DACPAC 的完整路径(如果需要)和文件名。 |
/TargetServerName: |
ServerName |
是 |
包发布至的 SQL Server 的名称。 |
/TargetDatabaseName: |
DatabaseName |
是 |
包发布至的 SQL Server 数据库的名称。 |
IIS 部署代理
此工具可操作 IIS 对象和设置。 它基于自定义发布管理可执行文件。 此工具的配置变量因要执行的操作类型而异。
对于应用程序池操作:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-Action |
是 |
指示要执行的操作:
|
|
-ap |
是 |
应用程序池名称。 |
|
-apAllow32Bit |
No |
该标志指示应用程序池是否必须允许 32 位应用程序。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 允许的值包括:
|
|
-apIdentUserDomain |
No |
要用作应用程序池标识的用户域。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 如果未定义此参数,但定义了“IdentityUserName”,则用户将被视为本地用户 (. \localuser)。 |
|
-apIdentUserName |
No |
要用作应用程序池标识的用户名。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 如果未定义此参数,则将忽略“IdentityUserDomain”和“IdentityUserPassword”,并且将使用 IIS 的默认值 (ApplicationPoolIdentity)。 |
|
-apIdentUserPassword |
No |
要用作应用程序池标识的用户密码。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 |
|
-apNetVers |
No |
要用于应用程序池的 .NET Framework 版本。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 允许的值包括:v1.0、v1.1、v2.0 和 v4.0 |
|
-apPipelineMode |
No |
要在应用程序池中使用的托管管道模式。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 允许的值包括:
|
|
-apProcessIdleTimeout |
No |
进程可在应用程序池中闲置的分钟数。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 |
|
-apRecycleKbMemory |
No |
回收应用程序池之前所使用的内存的最大 KB 数。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 |
|
-apRecycleMinutes |
No |
在回收应用程序池之前等待的固定分钟数。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 |
|
- apRecycleSpecificTime |
No |
回收应用程序池的固定时间。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 所需格式为 HH:MM(例如 23:58 或 01:23)。 |
|
-apStartMode |
No |
要用于应用程序池的启动模式。 仅 IIS 8.0 和 8.5 允许使用此参数。 允许的值包括:
|
|
-AutoStart |
No |
该标志指示应用程序池是否必须自动启动。 仅 IIS 7.0、7.5、8.0 和 8.5 允许使用此参数。 允许的值包括:
|
|
-log |
No |
对于网站操作:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-Action |
是 |
指示要执行的操作:
|
|
-sn |
是 |
网站名称。 |
|
-port |
否* |
网站的端口号。 此参数对于 Create 操作是必需的,而对于 Configure 操作是可选的。 |
|
-pd |
否* |
路由至应用程序发布位置的完整路径。 此参数对于 Create 操作是必需的,而对于 Configure 操作是可选的。
说明
确保路径中不存在尾随斜杠。
|
|
-ap |
No |
应用程序池的名称。 如果在创建应用程序池时未定义此参数,将使用默认应用程序池。 此参数对于 Create 和 Configure 操作是可选的。 |
|
-EnablePreload |
No |
IIS 7.0、7.5、8.0 和 8.5 中允许此参数。 该标志指示是否必须预加载网站。 此参数对于 Create 和 Configure 操作是可选的。 允许的值为:
|
|
-AutoStart |
No |
IIS 7.0、7.5、8.0 和 8.5 中允许此参数。 该标志指示网站是否必须自动启动。 此参数对于 Create 和 Configure 操作是可选的。 允许的值为:
|
|
-log |
No |
物理目录中将生成具有此给定名称的日志文件。 |
对于 Web 应用程序操作:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-Action |
是 |
指示要执行的操作:
|
|
-ws |
是 |
要创建的应用程序的名称。 |
|
-pd |
否* |
路由至应用程序发布位置的完整路径。 此参数对于 Create 操作是必需的,而对于 Configure 操作是可选的。 |
|
-sn |
No |
网站名称。 如果未指定此参数,则系统将在创建新的应用程序时使用默认网站。 此参数对于 Create 和 Configure 操作是可选的。 |
|
-ap |
No |
应用程序池的名称。 如果在创建应用程序池时未定义此参数,将使用默认应用程序池。 此参数对于 Create 和 Configure 操作是可选的。 |
|
-EnablePreload |
No |
IIS 7.0、7.5、8.0 和 8.5 中允许此参数。 该标志指示是否必须预加载网站。 此参数对于 Create 和 Configure 操作是可选的。 允许的值为:
|
|
-log |
No |
物理目录中将生成具有此名称的日志文件。 |
对于虚拟目录操作:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-Action |
是 |
指示要执行的操作:
|
|
-vd |
是 |
虚拟目录的名称。 |
|
-pd |
否* |
虚拟目录的完整路径。 此参数对于 Create 操作是必需的,而对于 Configure 操作是可选的。 |
|
-sn |
No |
网站名称。 如果未指定此参数,则系统将在创建新的应用程序时使用默认网站。 此参数对于 Create 和 Configure 操作是可选的。 |
|
-ws |
No |
Web 应用程序名称。 如果未指定此参数,则系统将在创建新的虚拟目录时使用根 Web 应用程序。 此参数对于 Create 和 Configure 操作是可选的。 |
|
-log |
No |
物理目录中将生成具有此名称的日志文件。 |
Microsoft Azure VM 管理器
此工具可管理 Microsoft Azure 中的 VM。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./ControlAzureVM.ps1。 |
-Command |
是 |
指示要执行的操作:
|
|
-ServiceName |
ServiceName |
是 |
VM 所在的 Microsoft Azure 服务的名称。 |
-Name |
名称 |
是 |
Microsoft Azure VM 的名称。 |
XBAP Deployer
此工具可部署 XBAP 应用程序。 它基于自定义发布管理可执行文件。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-pn |
ProjectName |
是 |
要部署的 XBAP 项目的名称。 |
-d |
Installation Path |
是 |
XBAP 应用程序的安装路径。 |
-ml |
No |
mage 实用工具可执行文件的完整路径。 如果未定义此参数,则此工具将使用提供的路径作为其资源。 |
|
-pl |
No |
要部署的 XBAP 项目所在的完整路径。 如果未指定此参数,则工具将使用执行项目的包位置。 |
|
-url |
No |
如果指定了此参数,系统会将 setup.exe 文件的 URL 替换为指定的 URL。 |
|
-cf |
No |
如果指定了此参数,则它将在更新清单时用作证书名称。 |
|
-pwd |
No |
如果指定了此参数,则它将在更新清单时用作证书密码。 |
|
-log |
No |
物理目录中将生成具有此名称的日志文件。 |
Microsoft 测试管理器 (MTM) 命令行实用工具
此工具可创建并启动在 MTM(Microsoft 测试管理器)上运行的自动测试。 它基于自定义发布管理 PowerShell 脚本。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./TcmExec.ps1。 |
-Title |
TestRunTitle |
是 |
创建测试运行时将使用的名称。 |
-PlanId |
PlanId |
是 |
测试必须在其下运行的测试计划的标识符(测试管理器中定义的唯一 ID)。 |
-SuiteId |
SuiteId |
是 |
你要运行的套件的标识符(测试管理器中定义的唯一 ID)。 |
-ConfigId |
ConfigId |
是 |
测试必须在其下运行的测试配置的标识符(测试管理器中定义的唯一 ID)。 |
-Collection |
TFSCollection |
是 |
将为其执行自动测试的 Team Foundation Server 集合 URL。 |
-TeamProject |
TeamProject |
是 |
在其中配置自动测试的团队项目的名称。 |
-TestEnvironment |
TestEnvironment |
是 |
要在其中执行测试的测试环境(测试环境与相应的测试控制器关联)。 |
-BuildDirectory |
BuildDirectory |
否* |
自动测试的位置。 在 MTM 2010 中,此参数是必需的。 在 MTM 2012 和 2013 中,仍支持此参数,但用户最好使用 BuildDefinition 和 BuildNumber 参数。 |
-BuildDefinition |
否* |
允许用户指定包含自动测试的生成定义。 此参数只能与 MTM 2012 一起使用。 如果定义了此参数,还必须指定 BuildNumber 参数。 如果未指定此参数,则测试运行的详细信息中显示的字段“build”将不受测试运行的影响。 |
|
-BuildNumber |
否* |
允许用户指定其放置位置将包含自动测试的生成号。 此参数只能在 MTM 2012 下使用。 如果定义了此参数,还必须指定 BuildDefinition 参数。 如果未指定此参数,则测试运行的详细信息中显示的字段“build”将不受测试运行的影响。 |
|
-SettingsName |
No |
允许用户指定要用于测试运行的设置。 如果未指定此参数,则将使用默认测试设置。 |
|
-TestRunWaitDelay |
No |
允许用户指定对测试控制器进行的每个调用之间的延迟(以秒为单位)。 需要此参数才能允许测试运行在处理测试结果之前完成。 如果未指定此参数,则默认值为 10 秒。 |
|
-InconclusiveFailsTests |
不可用 |
No |
设置此标志时,如果存在无结论的测试,则将导致部署失败。 默认情况下,无结论的测试将不会导致部署失败。 |
-RemoveIncludeParameter |
不可用 |
No |
设置此标志时,/include 参数将不会追加到测试创建命令。 这意味着,任何具有“活动”之外的状态的测试都将不会包含在测试运行中。 |
如果自动测试包含在要部署的应用程序所在的生成过程中,则可以使用元数据作为变量值,并将在发布时自动将其替换。 以下是当前可与配置变量配合使用的可用元数据。
变量 |
变量值元数据 |
---|---|
BuildDirectory |
$(PackageLocation) |
BuildNumber |
$(BuildNumber) |
BuildDefinition |
$(BuildDefinition) |
TFSCollection |
$(TFSUrlWithCollection) |
TeamProject |
$(TeamProject) |
INI 文件管理器
此工具可修改 .ini 文件的内容,并可创建新的 .ini 文件(如果指定)。 它基于自定义发布管理可执行文件。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-Action |
是 |
指示要执行的操作:
|
|
-INIFile |
INIFileName |
是 |
.ini 文件名和路径(如果需要) |
-SectionName |
SectionName |
No |
要影响的节名称。 如果未指定此参数,则将考虑根节(位于文件开头的第一节之前的所有键都被视为位于根中)。 |
-NewSectionName |
No |
新节名称。 如果未指定此参数,则将考虑根节(位于文件开头的第一节之前的所有键都被视为位于根中)。 此参数对于 ModifySection 操作是必需的。 |
|
-KeyName |
No |
要影响的键名称。 此参数对于 CreateKeyValue、ModifyKeyValue 和 RemoveKeyValue 是必需的。 |
|
-KeyValue |
No |
要用于键的值。 当使用 ModifyKeyValue 操作且未指定此参数,但指定了 NewKeyName 时,系统将使用实际值。 如果未指定此参数且未指定 NewKeyName,则该值将为空。 |
|
-NewKeyName |
No |
为键指定的新名称。 仅可用于 ModifyKeyValue 操作。 |
|
-CreateFileIfNotExists |
No |
指示必须创建文件(如果该文件不存在)的工具。 |
Windows 进程
此工具可取消 Windows 进程。 此工具的配置变量包括:
参数 |
变量 |
必需 |
描述 |
---|---|---|---|
-command |
不可用 |
是 |
固定值 ./WindowsProcess.ps1。 |
-ProcessName |
是 |
要取消的 Windows 进程的名称。 |
|
-UserName |
No |
正在运行进程的用户帐户。 如果未指定此参数,则将为所有用户取消进程。 |
|
-IsKillProcessTree |
No |
该标志指示是否必须取消进程树。允许的值为:
|