2009-07-29 34 views
2

我正在使用一臺服務器連續和每晚構建相同的項目;不過,我希望每天只修改一次,以便在白天進行修改。我希望能夠達到這一點,因爲兩個版本都使用相同的工作文件夾CruiseControl.NET每晚構建If修改後自上次構建標籤以來存在

我正在考慮這兩個選項是:

  1. 輪詢的持續構建,只有建立在每晚構建是否發生了持續構建 - 可能採用一些象徵性的系統(連續打造集令牌,夜間清除令牌)。

  2. 運行預生成任務恢復的源代碼,最後建造時間

我朝它解耦構建腳本第二個選項傾斜,但它似乎是一個非常困難的任務。

建議和提示,這樣做,將不勝感激!

添加的信息:

的CI構建是一個配置和 的 解決方案的快速構建,也許運行一些快速的單元測試。

每晚構建清潔構建 環境,構建軟件,包成一個 安裝,運行擴展測試,標籤 的源代碼庫,部署 安裝到服務器共享用於 手工測試人員回暖,並通過電子郵件 測試團隊發現可測試版本 已經生成。

我只希望如果在白天有 任何檢查插件,使測試人員沒有得到與本質上是相同的構建重複郵件困擾要發生的 每日構建。

回答

1

我很高興我的新的解決方案......

我使用MultiTrigger與scheduleTrigger並在每晚構建一個prjectTrigger(不如叫完整的構建)和WriteModification/ReadModification對傳播的修改歷史記錄,如this question

3

我可能會簡化這個任務,但是不能簡單地在項目中設置兩個觸發器嗎?一個時間間隔觸發器用於連續構建,一個時間間隔觸發器用於每晚構建的IfModificationExists條件。

<triggers> 
    <intervalTrigger seconds="60" name="Continuous" /> 
    <scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled"> 
     <weekDays> 
     <weekDay>Monday</weekDay> 
     </weekDays> 
    </scheduleTrigger> 
</triggers> 
+1

這是我的第一個想法,但這種方法的問題是,scheduleTrigger不會檢測到任何修改。 – 2009-07-30 13:40:20