Travis CI继续进行iOS集成流程
使用Travis CI for iOS应用程序构建持续集成管道。
meguid / travis-ci-pipeline
使用Travis CI for iOS应用程序构建持续集成管道。 – meguid / travis-ci-pipeline
github.com
- GitHub帐户。
- GitHub上托管的项目的所有者权限。
- 转到Travis并使用GitHub注册
- 接受Travis CI的授权。 您将被重定向到GitHub。
- 单击绿色的激活按钮,然后选择要用于Travis CI的存储库。
- 将一个
.travis.yml
文件添加到您的存储库中,以告诉Travis CI该怎么做。
- 将
.travis.yml
文件添加到git中,提交并推送,以触发Travis CI构建。 - 检查构建状态页面以查看构建是否通过。
- 你做到了!! 您已经建立了第一个婴儿CI管道
笔记:
- 用您的值替换
WORKSPACEPATH
,SCHEME
和BUILDPATH
。 - 最好将
osx_image
设置为本地计算机上安装的相同xcode版本,以实现兼容性。 - 我更喜欢设置自定义
derivedDataPath
以便以后可以访问它以获取覆盖率。 - 使用
osx_image
值设置模拟器OS
版本的数学设置(例如xcode10和12.0) - 您可以将
Swift
更改为objective-c
。
- 通过选择产品→方案→管理方案…菜单选项,打开“管理方案”表。
- 在列表中找到要用于测试的目标。
- 确保已选中工作表最右边一栏中的“共享”复选框。
- 如果您的目标包括跨项目依赖项(例如CocoaPods),则需要确保已将它们配置为显式依赖项。
为此:
突出显示您的应用程序目标,然后单击“编辑…”按钮以打开“方案”编辑表。
单击方案编辑器左侧面板中的“构建”选项卡。
单击+按钮,然后将每个依赖项添加到项目中。 CocoaPods将显示为名为Pods的静态库。
将依赖项拖到测试目标上方,以便首先构建它。
- 现在,您的Xcode项目下面的xcshareddata / xcschemes目录中将有一个新文件。 这是您刚配置的共享方案。 将此文件检入到存储库中,xcodebuild将能够找到并执行测试。
- 是!! 现在,每次进行git commit时,Travis将运行您的测试并在任何测试用例失败的情况下中断构建。
- 将安装命令添加到
.travis.yml
文件以安装Swiftlint。
- 如果要配置swiftlint的自定义规则,请将Swiftlint YML文件
.swiftlint.yml
添加到项目文件夹中。 - 在
.travis.yml
文件中添加脚本命令以运行swiftlint,但请先安装您的Pod。
- 完成! 现在,如果swiftlint中有错误,您的构建将失败。
- 在测试方案中启用“收集覆盖范围数据”。
- 创建一个新的bash脚本
validateCoverage.sh
- 使用xccov生成覆盖率报告,然后将其转换为json(了解有关xccov的更多信息)
- 使用
Parser.swift
解析覆盖率
- 如果覆盖率小于70%,则失败(退出代码为非0)
- 从
.travis.yml
文件中运行validateCoverage.sh
(bash validateCoverage.sh)
- 完成😉现在,每次执行git commit时,Travis将从xcode获取覆盖率,并且当覆盖率小于70%时失败