2008-10-10 32 views
5

Bạn sẽ kích hoạt thủ công các nhóm xây dựng bổ sung từ nhóm xây dựng như thế nào? Ví dụ, khi chúng tôi đang xây dựng CC.Net khác sẽ kích hoạt nếu xây dựng nhất định đã thành công. Bản dựng thứ hai có thể là các dự án sử dụng thành phần này hoặc các thư viện kiểm tra chạy dài, bổ sung cho cùng một thành phần.Thủ công kích hoạt một nhóm TFS Xây dựng

Trả lời

4

Một cách bạn có thể làm là bạn có thể là mục tiêu AfterEndToEndIteration tới tệp TFSBuild.proj của bạn để chạy dòng lệnh TfsBuild.exe để bắt đầu các bản dựng khác. Tôi đang nghĩ đến một cái gì đó như thế này (mặc dù tôi đã không kiểm tra nó)

<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:&quot;Your Build Definition To Run&quot;" /> 

    </Target> 
3

tôi đã thực hiện điều tương tự Martin gợi ý về một số dịp (blog của mình là vượt quá hữu ích, BTW). Tuy nhiên, tôi đã kết thúc việc cần phải kích hoạt các tầng dựng hình như thế này (dựa trên một số quy tắc phức tạp khác) đủ để tôi tạo ra một nhiệm vụ tùy chỉnh để thực hiện nó. Giữ các kịch bản xây dựng của bạn đẹp và gọn gàng và cung cấp cho bạn khả năng linh hoạt và đóng gói nhiều hơn.

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; 
    } 

Có một số công cụ tốt hơn trên blog của Aaron Hallberg của quá:

http://blogs.msdn.com/aaronhallberg/archive/2007/04/24/team-build-object-model-queueing-a-build.aspx

Các vấn đề liên quan