Start 命令 (Team Foundation Build)
使用 start 命令,运行 Team Foundation Build 的已配置生成定义。
所需权限
若要使用 start 命令,您必须将 Visual Studio Team Foundation Server 中的**“排队的生成”和“查看生成定义”安全权限设为“允许”**。 另外,应用层服务帐户和 Team Foundation Build 服务帐户必须具有对生成放置位置的读/写权限。有关更多信息,请参见 Team Foundation Server 权限。
TFSBuild start /collection:teamProjectCollectionUrl
/builddefinition:definitionSpec [/droplocation:droplocation] [/getoption:getoption]
[/customgetversion:versionSpec] [/priority:priority] [/requestedfor:userName]
[/msbuildarguments:args] [/shelveset:shelvesetName [/checkin]]
[/silent] [/queue]
TFSBuild start teamProjectCollectionUrl teamProject definitionName
[/droplocation:droplocation] [/getoption:getoption] [priority:priority]
[/customgetversion:versionSpec] [/requestedfor:userName]
[/shelveset:shelvesetName [/checkin]]
[/msbuildarguments:args] [/silent] [/queue]
参数
参数 |
说明 |
---|---|
teamProjectCollectionUrl |
包含正在生成的解决方案和项目的团队项目集合的 URL。 |
teamProject |
包含正在生成的解决方案和项目的团队项目的名称。 |
definitionName |
团队项目中要用于生成的生成定义的名称。 |
droplocation |
生成完成后,生成二进制文件和日志文件的公共文件夹的路径就会存储下来。 例如,\\server\share。 该参数与 /droplocation 选项一起使用。 |
getoption |
与 /getoption 选项一起使用。 有效值为 LatestOnQueue、LatestOnBuild 和 Custom。 |
versionSpec |
|
priority |
生成定义要使用的队列优先级。 此参数可以与 /priority 选项一起使用。 有效值为 Low、BelowNormal、Normal、AboveNormal 和 High。 |
userName |
要与完成的构建关联的用户的名称。 |
args |
要传递到 MSBuild 的命令行参数。 |
shelvesetName |
如果您想要启动专有生成或启动用门控签入触发器定义的生成,指定搁置集的名称。 |
选项 |
说明 |
---|---|
/collection |
指定团队项目集合。 |
/droplocation |
可选。 指定发生生成过程的目录。 可以缩写为 /d。 默认情况下使用“生成定义”中指定的生成目录。
注意
选择生成目录时,应确保有足够的生成空间,空间不足将导致生成中止。
|
/getoption |
可选。 指定希望从版本控制中获得文件。 |
/customgetversion |
可选。 当 /getoption 的值指定为“Custom”时,指定要获取的文件的自定义版本。 |
/priority |
可选。 指定生成队列优先级。 |
/requestedfor |
可选。 指定为其请求生成的人员。 |
/msbuildarguments |
可选。 指定要传递到 MSBuild 的命令行参数。 常规格式为: /msbuildarguments:"/p:SomeProperty=SomeValue /t:MySpecialTarget" |
/shelveset |
可选。 如果您想要启动专有生成或启动用门控签入触发器定义的生成,指定搁置集的名称。 |
/checkin |
可选。 只有定义的版本以门控签入触发器开头时,此选项才适用。 如果您希望系统在生成成功时签入文件,请指定此选项。 |
/silent |
可选。 如果指定此选项,则在生成运行时,输出不会写入命令提示符窗口。 |
/queue |
将生成启动请求插入到生成队列中,然后立即返回。 |
备注
可以将 Team Foundation 命令行命令 TFSBuild start 与任务计划程序服务结合使用来执行定期或每夜生成。
如果生成多个解决方案,在确定它们的生成顺序时,应考虑一个解决方案与另一个解决方案之间的依赖关系。 例如,如果 Solution2 依赖 Solution1,则设置 Solution1 在 Solution2 之前生成。
默认情况下,放置目录不会自动作为共享创建。 因此,它不适用于发布生成和测试结果。 必须手动建立共享,向 Windows 目录添加写权限,并为运行 Team Build Service 的帐户添加共享权限以放置生成,为测试人员帐户添加共享权限以发布测试结果。
示例
下面的示例在 http://myserver:8080/DefaultCollection 上的团队项目集合的 AdventureWorks 团队项目中生成 Nightlies 生成类型。 得到的生成位于 BuildDrop 目录中。
>TFSBuild start http://myserver:8080/DefaultCollection /builddefinition:"AdventureWorks\Nightlies" /droplocation:"\\computername\buildDrops"
下面的示例在 http://myserver:8080/DefaultCollection 上的集合的 AdventureWorks 团队项目中生成 Nightlies 生成类型。 得到的生成位于 BuildDrop 目录中。 使用 /msbuildarguments 选项,可以传入 MSBuild“Diagnostic”详细级别。 有关更多信息,请参见 MSBuild 命令行参考。
>TFSBuild start http://myserver:8080/DefaultCollection /builddefinition:"AdventureWorks\Nightlies" /droplocation:"\\computername\buildDrops" /msbuildarguments:"/flp:verbosity=diag"