Travis CI继续进行iOS集成流程

使用Travis CI for iOS应用程序构建持续集成管道。

meguid / travis-ci-pipeline

使用Travis CI for iOS应用程序构建持续集成管道。 – meguid / travis-ci-pipeline

github.com

  • GitHub帐户。
  • GitHub上托管的项目的所有者权限。
  • 转到Travis并使用Gi​​tHub注册
  • 接受Travis CI的授权。 您将被重定向到GitHub。
  • 单击绿色的激活按钮,然后选择要用于Travis CI的存储库。
  • 将一个.travis.yml文件添加到您的存储库中,以告诉Travis CI该怎么做。
  • .travis.yml文件添加到git中,提交并推送,以触发Travis CI构建。
  • 检查构建状态页面以查看构建是否通过。
  • 你做到了!! 您已经建立了第一个婴儿CI管道

笔记:

  • 用您的值替换WORKSPACEPATHSCHEMEBUILDPATH
  • 最好将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%时失败