Qt項目持續集成系列之一 -- github自動化編譯
持續集成的概念和好處,濤哥就不再贅述了。
本文的目標是,領各位讀者入門,學會如何在GitHub上搭建Qt項目的自動化編譯環境。
後續的文章還會有Qt項目的自動化測試、及多平臺自動發行。
創建一個Qt工程
這裏使用默認的HelloWorld模板。
文件結構如下:
爲代碼創建git倉庫
使用命令行操作
git init
git add .
git commit –a –m “init version”
或者使用小烏龜(tortoiseGit)
在github上創建倉庫
上傳代碼到github
使用命令行
git push https://github.com/yourpath/xxxxxxxxxxx master
或者小烏龜
使用Travis
travis是一個第三方的CI網站,提供linux和osx的docker環境,可以與github集成。
使用這個網站的docker,只需要在代碼git倉庫中放一個叫”.travis.yml”的配置文件即可,文件具體內容在下文中。
網址: https://travis-ci.org/
如果想知道更多關於travis的內容,訪問幫助文檔網址:https://docs.travis-ci.com/
需要先註冊/登陸。默認用github賬號就好了。
第一次使用會提示github賬號認證之類的,通過就行了。
登陸成功後,進入倉庫管理界面,點擊那個加號
進入添加倉庫界面,找到要添加的倉庫HelloCI,打開開關。如果列表中沒有倉庫,可以點擊左上角的Sync account進行同步,之後再去找倉庫。
使用appveyor
appveyor是一個第三方的CI網站,提供windows的docker環境,可以與github集成。
使用這個網站的docker,只需要提供一個叫” appveyor.yml”的配置文件即可,文件具體內容在下文中。
網址:https://www.appveyor.com/
幫助文檔網址:https://www.appveyor.com/docs/
登陸界面。這個網站用Github賬號不一定能正常登陸,請自行嘗試。
本人使用的是微軟的Visual Studio Team 賬號
登陸成功後,進入項目列表。點擊上面的New Project進入添加項目頁面。
選github標籤,然後找到HelloCI,點擊ADD按鈕
添加成功了
添加CI配置文件
.travis.yml (後文有鏈接,可下載到)
travis默認系統爲ubuntu,並提供一些基礎的命令。但是沒有安裝Qt,這裏通過ubuntu源進行安裝,選擇的版本爲5.9.6。
關於ubuntu源 在這個網站上查看細節 https://launchpad.net/~beineri/+archive/ubuntu/
在搜索框輸入想要的qt版本,查看是否有對應的源、如何使用
appveyor.yml
Appveyor比較方便一些,已經裝好了各種版本的vs 和Qt,這裏使用vs 14.0和qt 5.9.5 msvc2015_64
其它版本詳情看這裏https://www.appveyor.com/docs/windows-images-software/
後續的自動化測試、覆蓋率統計、自動部署也是在這兩個配置文件裏實現,這次先不說了。
配置文件添加到倉庫
通常爲了方便查看CI狀態,我們會寫一個README.md的文件,裏面鏈接上CI倉庫和倉庫對應的狀態圖標(專業名字叫badge)
上圖四個紅框依次編號1-4,那麼
1是travis的小圖標鏈接,在travis網站上,對應倉庫裏
點擊那個小圖標,在彈出的頁面中,選擇代碼分支爲master,格式爲MardDown
(也可以仿照我提供的格式來寫,我的那個是個表格的方式,看着更好一些)
2是travis倉庫對應的鏈接
3是appveyor的狀態圖標,在appveyor的對應倉庫中找到:
4是appveyor的對應倉庫鏈接
添加好之後的文件結構
提交修改到github,觸發CI
用命令行
git add .
git commit –a –m “add CI and README”
git push xxx master
或者小烏龜
提交好了,到github上看一看吧
這次提交已經觸發了CI。
上圖這四個按鈕分別 對應前面的四個鏈接,可以點開查看狀態。
狀態圖標裏面顯示的狀態是默認的,等一段時間後(CI運行完成),刷新即可看到最新的狀態。
也可以在github 倉庫的commit欄,點擊CI狀態按鈕,來查看CI信息。
如果某一次提交不想觸發CI,可以在commit信息中加上[SKIP CI],例如
命令行: git commit -a -x “xxx [SKIP CI]”
小烏龜:
更多玩法,請參考CI網站,或等我後續的文章。
配置文件和示例倉庫鏈接
https://github.com/wentaojia2014/HelloCI
關於我
作者 | 濤哥 |
---|---|
開發理念 | 弘揚魯班文化,傳承工匠精神 |
QQ、TIM | 759378563 |
微信 | xsd2410421 |
郵箱 | [email protected] |
blog | https://wentaojia2014.github.io/ |
QQ(TIM)、微信二維碼
請放心聯繫我,樂於提供諮詢服務,也可洽談技術支持相關事宜。