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、TIM759378563
微信xsd2410421
邮箱jared2020@163.com
bloghttps://wentaojia2014.github.io/

QQ(TIM)、微信二维码

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


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,我会尽力回答你的问题。以下是一个超简单配置Android持续集成自动化打包流程 - GitHub+GitLab-CI+蒲公英+钉钉 的步骤: 1. 在 GitHub 创建一个新的 repository,将你的 Android 项目代码上传到该仓库中。 2. 在 GitLab 中创建一个新的项目,并将该项目GitHub 中的相应仓库进行关联。 3. 在 GitLab 中创建一个新的 .gitlab-ci.yml 文件,用于配置持续集成自动化打包流程。以下是一个示例文件: ```yml image: openjdk:8-jdk stages: - build - deploy before_script: - chmod +x ./gradlew build: stage: build script: - ./gradlew assembleDebug artifacts: paths: - app/build/outputs/apk/debug/app-debug.apk deploy: stage: deploy script: - curl -F "file=@app/build/outputs/apk/debug/app-debug.apk" -F "uKey=YOUR_UKEY" -F "_api_key=YOUR_API_KEY" https://www.pgyer.com/apiv2/app/upload - curl -X POST -H 'Content-type: application/json' --data '{"msgtype":"text","text":{"content":"Android自动化打包完成,请前往蒲公英下载最新版本!"}}' https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN ``` 4. 在蒲公英网站中创建一个新的应用,并将该应用的 uKey 和 api_key 配置到 .gitlab-ci.yml 文件中的 deploy 阶段中。 5. 在钉钉开发者后台中创建一个新的机器人,并将该机器人的 access_token 配置到 .gitlab-ci.yml 文件中的 deploy 阶段中。 6. 确保 GitLab CI/CD Runner 已经正确地安装在你的 Android 项目所在的服务器上,然后在 GitLab 中启用 Runner。 7. 每次你向 GitHub 中的仓库提交新的代码时,GitLab CI/CD Runner 将会自动触发持续集成自动化打包流程,并将最新的 APK 文件上传到蒲公英网站,并通过钉钉机器人发送通知消息。 希望这些步骤能够对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jared2020

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值