2012-02-24 40 views
8

我用/維持幾CMake的項目,所以我開始研究CTEST/CDASH,但有件事情,我想不通:CTEST/CDASH工作流程:部署每晚構建

是它只做顯示建立/測試結果? (又名美化日誌)

或者:可以在服務器上部署夜間構建二進制文件嗎?

儘管我認爲CTest是測試CMake項目和顯示測試結果的理想工具,但我還想在Web服務器上自動部署夜間構建,並且我想知道它是否正確工具...

回答

1

這是一個任務,這將由CMake執行,而不是由CTest或CDash執行。我們使用CMake生成安裝程序映像並將其複製到文件系統的某個位置。你可以使用add_custom_target來指定這樣一個目標。那麼你每晚的構建可能只包含這個目標。

+0

好吧,但是如果我想如果所有CTest測試都正常,我只想部署夜間構建?它也將推出帶有add_custom_target的CTest?另一個問題是,我希望看到CDash中的成功構建與構建本身之間的聯繫......至少從SDK用戶的角度來看,它似乎更加一致...... – Mikarnage 2012-02-24 12:34:53

+0

我認爲如果成功,ctest返回0?在這種情況下,你可以執行像'ctest -S nightly_script.ctest && '的命令,&&後的命令只有在第一個命令返回0時才執行(不確定是否與windows shell等價) – yngve 2013-04-09 20:32:36

3

這是CDASH 2.0和最近CTEST一個新的功能,你可以看到在使用paraview包的這一個實驗例,

http://trunk.cdash.org/index.php?project=ParaView

的CTEST腳本,導致它是可見的音符,例如(從儀表板),

http://trunk.cdash.org/viewNotes.php?buildid=10381

我就寫了怎麼使用這個曾經CDASH 2.0完全釋放,如果沒有其他人都繞它先規劃。所以,這個功能當然有,但是非常新。我認爲這是一個很棒的功能,並計劃在我的項目中使用它來製作夜間二進制文件。

+0

提示...對於我的個人項目,我最終決定使用Jenkins + windows批處理文件,直接調用CMake + Visual Studio,因爲它最終更適合我的需求,但我一定會密切關注CDash。 – Mikarnage 2012-02-27 12:52:39

+0

有幾種方法可以做到這一點,我認爲CDash二進制上傳功能是一個很好的方法,我正在考慮將它與MIDAS結合起來,爲用戶提供一個頁面,以便爲他們的平臺獲取最新的二進制文件(比CDash頁面)。對於跨多個站點的分佈式測試,只需訪問CDash服務器,我還沒有找到更好的方法來做到這一點,但也繼續看看其他解決方案。 – 2012-02-27 14:45:04