qt creator 帮助文档_Qt项目持续集成系列之一 -- github自动化编译

文章原始地址

Qt项目持续集成系列之-github自动化编译 | 涛哥的博客​jaredtao.github.io

当你还在折腾虚拟机、安装Qt环境的时候,涛哥已经写完了代码,并利用CI完成自动编译、自动发行Windows、MacOS、Ubuntu等多个平台的发布包。。。

持续集成的概念和好处,涛哥就不再赘述了。

本文的目标是,领各位读者入门,学会如何在GitHub上搭建Qt项目的自动化编译环境。

后续的文章还会有Qt项目的自动化测试、及多平台自动发行。


1、 创建一个Qt工程

v2-eab2383e85ad627a23bc52e434e3427d_b.jpg

这里使用默认的HelloWorld模板。

文件结构如下:

v2-187376337f53b44a7a1e93dbd6abbd61_b.jpg

为代码创建git仓库

使用命令行操作

git init

git add .

git commit –a –m “init version”

或者使用小乌龟(tortoiseGit)

v2-e8486b3f45e4c6b8905efa34bade83cb_b.jpg

2 在github上创建仓库

v2-05fbc52a9ab962aa8592e6e8ac4a41f5_b.jpg

3 上传代码到github

使用命令行

git push https://github.com/yourpath/xxxxxxxxxxx master

或者小乌龟

v2-0a61498403874be90f4830c320d27823_b.jpg

v2-ab8333c0f628983e942ab9005b2d5d53_b.jpg

4 使用Travis

travis是一个第三方的CI网站,提供linux和osx的docker环境,可以与github集成。

使用这个网站的docker,只需要在代码git仓库中放一个叫”.travis.yml”的配置文件即可,文件具体内容在下文中。

网址: https://travis-ci.org/

如果想知道更多关于travis的内容,访问帮助文档网址:https://docs.travis-ci.com/

需要先注册/登陆。默认用github账号就好了。

v2-ab44dc76317e09daaf4b5d891cf147c0_b.jpg

第一次使用会提示github账号认证之类的,通过就行了。

登陆成功后,进入仓库管理界面,点击那个加号

v2-06832f60fec3ea8c0d4cc1ef0fec006f_b.jpg

进入添加仓库界面,找到要添加的仓库HelloCI,打开开关。如果列表中没有仓库,可以点击左上角的Sync account进行同步,之后再去找仓库。

v2-1113df96d015ff04a04927988f4b6f5e_b.jpg

v2-f94b388d134fe84b7de88d2712887e3b_b.jpg

5 使用appveyor

appveyor是一个第三方的CI网站,提供windows的docker环境,可以与github集成。

使用这个网站的docker,只需要提供一个叫” appveyor.yml”的配置文件即可,文件具体内容在下文中。

网址:https://www.appveyor.com/

帮助文档网址:https://www.appveyor.com/docs/

v2-5d7c7cb4fa03bb21c43e5b5e996caea6_b.jpg

登陆界面。这个网站用Github账号不一定能正常登陆,请自行尝试。

本人使用的是微软的Visual Studio Team 账号

v2-54e61ead5843bdf39835f815debdc89b_b.jpg

登陆成功后,进入项目列表。点击上面的New Project进入添加项目页面。

v2-68eb4ab485f105c9832f969370c1ecba_b.jpg

选github标签,然后找到HelloCI,点击ADD按钮

v2-4ad2785ccc996395198779bb1820de80_b.jpg

添加成功了

v2-8ea87c5cef7aeef513a764abd693ad11_b.jpg

6 添加CI配置文件

.travis.yml (后文有链接,可下载到)

v2-ba8949bbd5fa0c48e609e188d3719c44_b.jpg

travis默认系统为ubuntu,并提供一些基础的命令。但是没有安装Qt,这里通过ubuntu源进行安装,选择的版本为5.9.6。

关于ubuntu源 在这个网站上查看细节 https://launchpad.net/~beineri/+archive/ubuntu/

v2-6976b12d0cd388438e04bc47254863fc_b.jpg

在搜索框输入想要的qt版本,查看是否有对应的源、如何使用

v2-abcc72c4444f0f273c98f4d4e14c4225_b.jpg

appveyor.yml

v2-1662d76073f59d221850bb448c444dcc_b.jpg

Appveyor比较方便一些,已经装好了各种版本的vs 和Qt,这里使用vs 14.0和qt 5.9.5 msvc2015_64

其它版本详情看这里https://www.appveyor.com/docs/windows-images-software/

后续的自动化测试、覆盖率统计、自动部署也是在这两个配置文件里实现,这次先不说了。

配置文件添加到仓库

v2-d07d7750ef39e4374d269a855aff6e3a_b.jpg

通常为了方便查看CI状态,我们会写一个README.md的文件,里面链接上CI仓库和仓库对应的状态图标(专业名字叫badge)

v2-fc850a1196d65df632427a4268cd2701_b.jpg

上图四个红框依次编号1-4,那么

1是travis的小图标链接,在travis网站上,对应仓库里

v2-a0e027805ba9de49198f56c5e7035a4f_b.jpg

点击那个小图标,在弹出的页面中,选择代码分支为master,格式为MardDown

v2-6fb0f8f1d093840856b70da67b1cf5f7_b.jpg

(也可以仿照我提供的格式来写,我的那个是个表格的方式,看着更好一些)

2是travis仓库对应的链接

3是appveyor的状态图标,在appveyor的对应仓库中找到:

v2-be81b5bd8241d7c8b61869f680bf9d5d_b.jpg

4是appveyor的对应仓库链接

添加好之后的文件结构

v2-da5b6d8562b1d4c71e37ec06f746f9b3_b.jpg

7 提交修改到github,触发CI

用命令行

git add .

git commit –a –m “add CI and README”

git push xxx master

或者小乌龟

v2-e151a173b06fe2d53243a51d39599e95_b.jpg

v2-d2135fad0c45507eb3084bc4f880f734_b.jpg

v2-83461eb8ed1c501279c9db83e38128a1_b.jpg

提交好了,到github上看一看吧

v2-55e19b7d54e01251e530c9564bddf80d_b.jpg

这次提交已经触发了CI。

上图这四个按钮分别 对应前面的四个链接,可以点开查看状态。

状态图标里面显示的状态是默认的,等一段时间后(CI运行完成),刷新即可看到最新的状态。

也可以在github 仓库的commit栏,点击CI状态按钮,来查看CI信息。

v2-f1a1daf4bebfd62c3581c73904255a3b_b.jpg

如果某一次提交不想触发CI,可以在commit信息中加上[SKIP CI],例如

命令行: git commit -a -x “xxx [SKIP CI]”

小乌龟:

v2-a494aee5cc4dcf396863aa2447d0e9fd_b.jpg

更多玩法,请参考CI网站,或等我后续的文章。

8 配置文件和示例仓库链接

https://github.com/jaredtao/HelloCI

9 关于我

作者涛哥

开发理念弘扬鲁班文化,传承工匠精神

QQ 759378563

微信 xsd2410421

邮箱 jared2020@163.com wentaojia2014@163.com

blog https://jaredtao.github.io

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值