基本概念
ocunit2junit:一个脚本,用于将xcodebuild中的OCUnit输出转换为JUnit使用的XML格式。 允许在像Jenkins这样的连续集成服务器上构建XCode,并提供测试报告!
slather:为Xcode项目生成测试覆盖率报告, 并且可以挂进CI。
2>&1:将标准错误也输出到标准输出当中。
证书:Credentials中添加新的你所需的授权,例如远程仓库的账号密码或ssh私钥信息等,上传完成后,Jenkins会为每一个授权赋予一个加密并提供对应此授权的ID,之后需要用到的地方,选择或填写对应的ID即可。
使用 credentials
CI环境iOS入门篇触发器
- Trigger builds remotely :通过生成token,可以远程构建。即生成token后可以按照指定的URL去远程触发这个任务,而不用登录系统。
- Build after other projects are built:在构建其他项目后构建,此时会设置一个观察对象
- Build periodically:周期性的构建,不管源码有没有变化,都会构建。
- Poll SCM:周期性构建,源码发生变化才构建。
- GitHub hook trigger for GITScm polling:这是GitHub的一个插件。可以通过配置GitHub相关功能,配合这个插件实现,向GitHub提交代码时触发Jenkins自动构建的功能。
- 注意1:Hook URL的配置方式
- 注意2:localhost无法直接配置,需要内网转发外网,可以借助ngrok。原理
- 注意3:GitHub Webhooks Secret 和 Jenkins Secret 要配置一样(都是通过 GitHub Developer settings生成的)。
常见问题
- jenkins-doesnt-have-label-xxxx :需要先在Jenkins配置Jenkins->Manage Nodes
- fastlane-failed-to-run-pod-install
- 如果Jenkins是通过brew安装的。