2009-07-21 32 views
7

Chúng tôi có một kho lưu trữ SVN được lưu trữ bên ngoài và máy chủ xây dựng của chúng tôi hiện là nội bộ. Thỉnh thoảng (có thể 1 hoặc 2 lần một ngày) máy chủ xây dựng không thể tìm thấy kho SVN do mất mạng, thời gian chờ hoặc một số lý do ngẫu nhiên khác. Với một kho lưu trữ được lưu trữ bên ngoài, điều này là khó tránh, tuy nhiên khi nó không tìm được kho SVN, nó không thành công!CruiseControl.NET xây dựng không thành công khi SVN không có sẵn

Tôi muốn tìm cách để thử lại ở khoảng thời gian tiếp theo và bỏ qua bất kỳ lỗi nào liên quan đến kho lưu trữ không xác định. Có ai biết làm thế nào tôi có thể làm điều này?

Tôi đã đăng cấu hình của mình để tham khảo bên dưới.

<project name="MyProject" queuePriority="0"> 
<workingDirectory>C:\RemovedForPost</workingDirectory> 
<artifactDirectory>C:\RemovedForPost </artifactDirectory> 
<sourcecontrol type="svn"> 
    <trunkUrl>http://RemovedForPost \</trunkUrl> 
    <workingDirectory>source</workingDirectory> 
    <username>myuser</username> 
    <password>*****</password> 
</sourcecontrol> 
<triggers> 
    <intervalTrigger name="BuildAMinute" seconds="60" buildCondition="IfModificationExists" /> 
</triggers> 
<tasks> 
    <msbuild> 
    <executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
    <workingDirectory>C:\RemovedForPost</workingDirectory> 
    <projectFile>C:\RemovedForPost\RemovedForPost.sln</projectFile> 
    <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs> 
    <targets>Build</targets> 
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    <timeout>120</timeout> 
    </msbuild> 
    <nunit> 
    <path>C:\Program Files\NUnit 2.5\bin\net-2.0\nunit-console.exe</path> 
    <outputfile>C:\RemovedForPost.xml</outputfile> 
    <assemblies> 
     <assembly> RemovedForPost </assembly> 
    </assemblies> 
    <timeout>60</timeout> 
    </nunit> 
</tasks> 

Cảm ơn

+0

Chắc chắn bị què. Tôi cũng có vấn đề y hệt. +1. –

Trả lời

5

Correction. Tất cả những gì bạn muốn là trong các thiết lập mới

CruiseControl.NET docs

Bạn có thể thiết lập nó để không báo cáo một sự thất bại cho đến khi max thử lại được thiết lập. Vì vậy, làm cho tối đa tại 3 và thiết lập nó để chỉ di chuyển vào nhà xuất bản (tức là không xây dựng) đơn vị nó đạt đến giới hạn. Vì vậy, 1 hoặc 2 bỏ lỡ sẽ là ok, nhưng sau đó 3 thất bại xây dựng một cái gì đó là sai.

+0

Vâng, nó sẽ thất bại chỉ một lần 95% thời gian, chỉ hai lần liên tiếp 5% khác để kích hoạt sẽ không được sử dụng nhiều cho tôi, nhưng nếu tôi không thể sửa lỗi này tôi sẽ phải nhận được thoát khỏi CC.NET. Chỉ với 1-2 lần đăng ký một ngày, chúng tôi sẽ nhận được tỷ lệ thất bại 50%. – Odd

+0

Vâng, tôi không biết bạn sẽ đi đâu. Nó có vẻ là một priniciple cơ bản của tích hợp continuosu rằng nếu bạn không thể đạt đến máy chủ kiểm soát nguồn, bạn nên thất bại xây dựng. Có một hệ thống bạn đang nghĩ về điều đó cho phép bạn cấu hình này? – Alex

+2

Nhưng nếu bạn có nhiều thất bại, bạn có nghĩ rằng bạn nên giải quyết nguyên nhân gốc rễ của vấn đề của bạn? Tôi có nghĩa là, điều này xảy ra với tôi đôi khi, nhưng nó thường là trong thời gian ngừng hoạt động theo lịch trình của nhà cung cấp SCC để nâng cấp và tương tự. –

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