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信息。

    github仓库链接

    转载声明

    文章出自涛哥的博客 -- 点击这里查看涛哥的博客
    本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可进行许可, 转载请注明出处, 谢谢合作 © 涛哥

    联系方式


    作者 涛哥
    开发理念 弘扬鲁班文化,传承工匠精神
    博客 https://wentaojia2014.github.io
    知乎 https://www.zhihu.com/people/wentao-jia
    邮箱 jared2020@163.com
    微信 xsd2410421
    QQ 759378563

    请放心联系我,乐于提供咨询服务,也可洽谈有偿技术支持相关事宜。

    打赏

    weixin
    zhifubao


    觉得分享的内容还不错, 就请作者喝杯奶茶吧~~



Log in to reply
 

走马观花

最近的回复

  • H
    Toou 2D 拿来即用,为简单而生。

    简称T2D,是一款采用自身模块规范编写的轻量级UI框架,遵循Qt书写与组织形式门槛极低无需深入学习简单易用可拿来即用,丰富的控件模块适合界面的快速开发,让程序人员拥有更多的精力来实现业务逻辑与算法。

    统一交互规范,丰富的Ui控件几十种常用控件放弃了Qt Controls 及 Controls 2 来提高性能。

    完善的主题系统,业务逻辑与界面主题设计分离,可通过简单修改变量自定义主题皮肤。灵活的多主题皮肤绑定机制、在不需要重启App即实现一键换肤

    ini皮肤配置规则与每一个控件融合。可在应用内配置也可在应用外动态扩展配置。

    框架自动化安装支持动态库、静态库多模式编译。使用方便更安全更自由。

    提供丰富Demo、全面的帮助文档,Api查阅快速方便。项目必备开源框架!

    已经集成最新版 Font Awesome 4.7

    开源地址:https://github.com/ShowFL/Toou-2D

    read more
  • 刚刚毕业,工作用QT开发,以后有问题多多请教各位前辈😬 抱拳了。

    read more

关注我们

微博
QQ群