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)、微信二維碼

請放心聯繫我,樂於提供諮詢服務,也可洽談技術支持相關事宜。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章