您將如何手動觸發團隊構建中的其他團隊構建?例如,當我們在CC.Net時,如果某些構建成功,其他構建將觸發。第二個版本可以是使用此組件的項目,也可以是針對同一個組件的額外的,長期運行的測試庫。手動觸發TFS團隊構建
5
A
回答
4
你可以做到這一點的一種方法是你可以將一個AfterEndToEndIteration目標添加到你的TFSBuild.proj文件中,該文件將運行TfsBuild.exe命令行來啓動其他的構建。我想這樣的事情(雖然我沒有測試過)
<Target Name="AfterEndToEndIteration">
<GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Condition=" '$(IsDesktopBuild)' != 'true' ">
<Output TaskParameter="Status" PropertyName="Status" />
</GetBuildProperties>
<Exec Condition=" '$(Status)'=='Succeeded' "
Command="TfsBuild.exe start /server:$(TeamFoundationServerUrl) /buildDefinition:"Your Build Definition To Run"" />
</Target>
3
我已經做了馬丁在多個場合提出同樣的事情(他的博客是超越樂於助人,BTW)。但是,我最終需要觸發像這樣的級聯構建(基於其他複雜的規則),因此我創建了一個自定義任務來完成它。保持你的構建腳本不錯,精益,並給你更多的靈活性和封裝的可能性。
public override bool Execute()
{
IBuildDefinition[] buildDefinitions = BuildServer.QueryBuildDefinitions(ProjectName);
foreach (IBuildDefinition build in buildDefinitions)
{
if(build.Enabled) //I did a bunch of custom rules here
{
Log.LogMessage(String.Concat("Queuing build: ", build.Name));
BuildServer.QueueBuild(build);
}
}
return true;
}
有亞倫哈爾貝格的博客更多的好東西太多:
http://blogs.msdn.com/aaronhallberg/archive/2007/04/24/team-build-object-model-queueing-a-build.aspx
相關問題
- 1. 觸發TFS 2010團隊構建另一個構建的成功
- 2. 顯示從TFS團隊UI構建
- 3. TFS團隊建設指南
- 4. UNC在團隊構建(TFS)中構建路徑
- 5. 在TFS團隊中跳過構建文件構建
- 6. 如何從Jenkins手動觸發TFS構建
- 7. TFS構建隊列
- 8. 構建完成時團隊警報不會觸發
- 9. 團隊城市觸發器構建github拉請求
- 10. 團隊城市TeamCity中失敗的構建觸發器
- 11. 相互排斥的團隊城市構建觸發器同時觸發
- 12. TFS團隊和TFS團隊之間的區別是什麼?
- 13. TFS 2012 - 團隊警報不發送
- 14. 錯誤(團隊建設與2008年TFS)
- 15. eclipse爲tfs創建團隊項目
- 16. TFS 2010 - 無法創建團隊項目
- 17. 團隊構建和Dotfuscator
- 18. TFS 2015如何手動發佈鏈接到團隊房間中的Changeset
- 19. TFS 2012團隊構建和Web應用程序部署--L ERROR_USER_NOT_ADMIN
- 20. TFS團隊的生成後構建最佳實踐
- 21. 使用C編輯TFS團隊構建定義
- 22. TFS構建代理,與團隊服務器端口相同?
- 23. 團隊構建以在不同的TFS項目中構建解決方案
- 24. 使用TFS 2013構建Visual Studio C++解決方案2015失敗團隊構建
- 25. 如何從單個TFS團隊構建定義構建2個解決方案
- 26. TFS 2013構建不觸發WebDeploy
- 27. 獲取TFS觸發構建Git分支
- 28. 如何將TFS構建定義移動/複製到新的團隊項目?
- 29. 如何在TFS中自動化分支/新團隊構建過程
- 30. 觸發器持續集成在TFS 2017中構建在團隊項目集合的根上