91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實戰 CruiseControl.NET+NAnt (二) - CC.NET中的觸發器

發布時間:2020-06-29 08:33:11 來源:網絡 閱讀:818 作者:瞿杰 欄目:編程語言

作者:Tony Qu

CC.NET的配置文件位于安裝目錄的server目錄下,有個叫做ccnet.config的文件,只有配置了這個文件,CC.NET才能正常運行。

通過CCNetConfig我們可以學到很多關于ccnet.config的配置內容,首先來看一個非常重要的概念——觸發器。

實戰 CruiseControl.NET+NAnt (二) - CC.NET中的觸發器

值得注意的是,這里的觸發器都僅針對當前項目有效,這也是為什么這些trigger基本沒有target,比如說IntervalTrigger,所有的屬性都沒有提到觸發的對象,。

CC.NET提供了6種觸發器:

IntervalTrigger,顧名思義,就是每隔一定時間觸發任務的觸發器。

FilterTrigger不能單獨工作,而必須與其他Trigger一起使用,之所以叫FilterTrigger是因為它是用來過濾觸發條件,例如我們原本設置了一個IntervalTrigger,每5分鐘觸發一次,但我只希望這個IntervalTrigger只在工作時間觸發,那么我們就可以用FilterTrigger來限制IntervalTrigger的觸發時間為9:00 ~ 18:00。

MultiTrigger類似于WPF中的MultiTrigger,可同時執行多個觸發器,并對觸發器結果做And或Or操作。

ScheduleTrigger和Windows自帶的計劃任務的功能非常類似,可以在特定時間觸發任務。

ProjectTrigger是僅當指定的CC.NET項目build完成后才會觸發任務的觸發器。

UrlTrigger是僅當某個特定的Url頁面的內容發生變化時才會觸發任務的觸發器。

 

下面來舉個例子:

場景1:我希望設置一個daily build的觸發器,每天凌晨1:00觸發一次,僅工作日做,雙休日不做(不考慮節假日)。

由于是特定時間循環觸發,我們可以用ScheduleTrigger來實現,代碼如下:

<scheduleTrigger time="1:00" buildCondition="ForceBuild" name="ScheduledTask1">
  <weekDays>
    <weekDay>Monday</weekDay>
    <weekDay>Tuesday</weekDay>
    <weekDay>Wednesday</weekDay>
    <weekDay>Thursday</weekDay>
    <weekDay>Friday</weekDay>
  </weekDays>
</scheduleTrigger>

在CCNetConfig里面設置則如下圖所示:

實戰 CruiseControl.NET+NAnt (二) - CC.NET中的觸發器

 

場景2: 持續集成需要每隔一定時間觸發一次build,已確定之前的checkin都是可運行的,所以我們需要設定一個每周一到周五的工作時間(9:00 ~ 18:00)觸發,并且每隔15分鐘觸發一次的觸發器(不考慮時區、時差問題)。

這里我們需要使用IntervalTrigger+FilterTrigger,FilterTrigger是用于過濾時間的,即9:00 ~ 18:00。

<filterTrigger startTime="09:00" endTime="18:00">
    <trigger type="intervalTrigger" seconds="600" />
    <weekDays>
        <weekDay>Monday</weekDay>
        <weekDay>Tuesday</weekDay>
        <weekDay>Wednesday</weekDay>
        <weekDay>Thursday</weekDay>
        <weekDay>Friday</weekDay>
    </weekDays>
</filterTrigger>

在CCNetConfig里面設置則如下圖所示:

實戰 CruiseControl.NET+NAnt (二) - CC.NET中的觸發器

場景3: 當項目A的build成功之后才觸發當前項目build(通常項目A是某個核心代碼庫,當前項目對其具有依賴性),由于是僅當成功才觸發,所以triggerStatus=Success

<triggers>
  <projectTrigger project="task2">
    <triggerStatus>Success</triggerStatus>
    <innerTrigger type="intervalTrigger" seconds="1800" buildCondition="ForceBuild" />
  </projectTrigger>
</triggers>

在CCNetConfig里面設置則如下圖所示:

實戰 CruiseControl.NET+NAnt (二) - CC.NET中的觸發器

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵阳县| 台中县| 武山县| 淄博市| 丰顺县| 睢宁县| 织金县| 长汀县| 孝感市| 镇雄县| 绍兴县| 泰安市| 新龙县| 布拖县| 兴业县| 甘谷县| 中卫市| 巴彦县| 宝清县| 湖州市| 新兴县| 修武县| 漠河县| 东台市| 大安市| 田阳县| 新沂市| 毕节市| 浙江省| 康乐县| 柳江县| 玛多县| 勐海县| 西丰县| 民勤县| 张家口市| 吉木乃县| 北碚区| 简阳市| 吴川市| 永宁县|